是否有方法使用两个"FROM“子句将两个值插入到表中?我试图插入百分位值-暴露和意识:
INSERT INTO tbReport (Exposure, Awareness)
SELECT MAX([q_Exposure])
FROM (SELECT TOP 30 PERCENT [q_Exposure]
FROM tbQuestions
WHERE q_Exposure IS NOT NULL ORDER BY [q_Exposure]),
MAX([q_Awareness])
FROM (SELECT TOP 30 PERCENT [q_Awareness]
FROM tbQuestions
WHERE q_Awareness IS NOT NULL ORDER BY [q_Awareness]);发布于 2015-04-28 10:46:43
我很肯定你不能用这样的两个SELECT语句,你也可以这样做,
INSERT INTO tbReport (Exposure, Awareness)
SELECT
Max(tmpQ.Exposure) As MaxExpo,
Max(tmpQ.Awareness) As MaxAware
FROM
(SELECT MAX([q_Exposure]) As Exposure, 0 As Awareness FROM (SELECT TOP 30 PERCENT [q_Exposure] FROM tbQuestions WHERE q_Exposure IS NOT NULL ORDER BY [q_Exposure])
UNION ALL
SELECT 0 As Exposure, MAX([q_Awareness]) As Awareness FROM (SELECT TOP 30 PERCENT [q_Awareness] FROM tbQuestions WHERE q_Awareness IS NOT NULL ORDER BY [q_Awareness])) As tmpQ;发布于 2015-04-28 10:40:00
我认为您提到的语法不起作用,因为典型的插入语法是:
INSERT INTO table_name (col_names) VALUES (col_values);从上面的查询中给出您想要的更清晰的图片?
发布于 2015-04-28 10:46:10
我建议你试试下面的代码
INSERT INTO tbReport (Exposure, Awareness)
SELECT MAX(SELECT TOP 30 PERCENT [q_Exposure]
FROM tbQuestions
WHERE q_Exposure IS NOT NULL
ORDER BY [q_Exposure]),
MAX(SELECT TOP 30 PERCENT [q_Awareness]
FROM tbQuestions
WHERE q_Awareness IS NOT NULL
ORDER BY [q_Awareness]); https://stackoverflow.com/questions/29916920
复制相似问题