【发布时间】:2015-01-07 20:46:08
【问题描述】:
我想从其他表中复制临时数据中的数据...
CREATE TABLE #temp1 (
Question_ID INT
,Excellent INT
,Good INT
,Average INT
,Below_Average INT
,Poor INT
)
INSERT INTO #temp1
VALUES (
(
SELECT Question_ID
FROM Eval
GROUP BY Question_ID
)
,(
SELECT COUNT(Answer_Marks) AS "Excellent"
FROM Eval
WHERE Answer_Marks = 5
AND Emp_no = 'biit218'
GROUP BY Question_ID
)
,(
SELECT COUNT(Answer_Marks) AS "Good"
FROM Eval
WHERE Answer_Marks = 4
AND Emp_no = 'biit218'
GROUP BY Question_ID
)
,(
SELECT COUNT(Answer_Marks) AS "Average"
FROM Eval
WHERE Answer_Marks = 3
AND Emp_no = 'biit218'
GROUP BY Question_ID
)
,(
SELECT COUNT(Answer_Marks) AS "Baverage"
FROM Eval
WHERE Answer_Marks = 2
AND Emp_no = 'biit218'
GROUP BY Question_ID
)
,(
SELECT COUNT(Answer_Marks) AS "poor"
FROM Eval
WHERE Answer_Marks = 1
AND Emp_no = 'biit218'
GROUP BY Question_ID
)
)
每个子查询应该复制临时表中的 15 条记录,但它返回错误:
消息 512,第 16 级,状态 1,第 1 行
子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。声明已终止。
【问题讨论】:
-
请重新格式化您的问题!
-
这是因为您的每个子查询都返回多行。
标签: sql sql-server