我正在尝试从JobNo插入CellNoTable_1不在View_1中的列。我写了这个查询,但出现错误。

请帮助我纠正此问题。

我正在使用SQL Server 2008

INSERT INTO Table_1(ID, JobNo, CellNo)
   SELECT View_1.ID, View_1.JobNo, View_1.CellNo
   FROM View_1
   WHERE View_1.JobNo
   AND View_1.CellNo NOT IN (SELECT JobNo, CellNo FROM Table_1)

最佳答案

问题是您的WHERE子句-您无法比较像这样的字段集。您一次只能比较一个字段。

请尝试:

WHERE View_1.JobNo NOT IN(SELECT JobNo FROM Table_1)
AND View_1.CellNo NOT IN (SELECT CellNo FROM Table_1)


或者,您可以使用单个EXISTS语句:

INSERT INTO Table_1(ID, JobNo, CellNo)
SELECT View_1.ID, View_1.JobNo, View_1.CellNo
FROM View_1 v
WHERE NOT EXISTS (SELECT 1 FROM Table_1 t
                  WHERE t.JobNo = v.JobNo
                  AND t.CellNo = v.CellNo)

关于sql-server-2008 - 使用WHERE插入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10384685/

10-11 02:56