从临时表中检索数据

时间:2014-06-04 08:33:47

标签: sql

我创建了一个临时表,它从两个连接表中获取信息,然后我尝试通过从IDs匹配临时表中的一个表的一个表中选择属性来插入第四个表。 / p>

目前我尝试过:

INSERT INTO TableX
    SELECT attributeID, attribute1, attribute2 
    FROM Table1 WHERE attributeID = attributeID IN 
#TempTable

但我被告知'IN''附近的语法不正确。

4 个答案:

答案 0 :(得分:0)

IN运算符允许您在WHERE子句中指定多个值,但不能指定您指定的方式。

INSERT INTO TableX SELECT attributeID, attribute1, attribute2 FROM Table1 WHERE attributeID IN (select attributeID from #TempTable)

IN looks for the match in selected attributeID list from #TempTable

答案 1 :(得分:0)

应该是

INSERT INTO TableX 
SELECT attributeID, attribute1, attribute2 
FROM Table1 
WHERE attributeID IN #TempTable

答案 2 :(得分:0)

试试这样:

INSERT INTO TableX SELECT attributeID, attribute1, attribute2 
FROM Table1 WHERE attributeID IN #TempTable

答案 3 :(得分:0)

将您的查询更改为:

INSERT INTO TableX 
SELECT attributeID, attribute1, attribute2 
FROM Table1 
WHERE attributeID IN 
(SELECT DISTINCT attributeID FROM #TempTable)

IN关键字需要值列表或后面的子查询。