SQL存储过程中出现的一个问题


CREATE PROCEDURE grade
@SID VARCHAR(10)
AS
BEGIN
SELECT SUM(Scoures),AVG(Scoures)
FROM SC
WHERE SID=@SID
END
EXEC grade @SID='1001'

但我在执行后发现(tip:我想要的只是一行即可)

img

img


上网查询了一番也没发现什么方法可以解决上面这个问题,故来此询问

加个distinct


CREATE PROCEDURE grade
@SID VARCHAR(10)
AS
BEGIN
SELECT DISTINCT SUM(Scoures),AVG(Scoures)
FROM SC
WHERE SID=@SID
END
EXEC grade @SID='1001'

CREATE PROCEDURE grade
@SID VARCHAR(10)
AS
BEGIN
SELECT SUM(Scoures),AVG(Scoures)
FROM SC
WHERE SID=@SID
END
这里加上一个GO看看
EXEC grade @SID='1001'