我的问题是极其类似:Select rows which are not present in other table插入行到一个表不存在,从另一视角
但不同的是,我从视图中检索数据,而不是另一个表。然而,子选择查询不返回任何记录,我省略了INSERT INTO测试SELECT查询
这是我到目前为止有:
SELECT SourceT.*, DestT.Column1, DestT.Column2
FROM
ViewA SourceT
LEFT OUTER JOIN
TableA DestT
ON
SourceT.Column1 = DestT.Column1 AND
SourceT.Column2 = DestT.Column2 AND
SourceT.Column3 = DestT.Column3 AND
****一切正常罚款,直到这里
WHERE
DestT.Column1 = NULL AND
DestT.Column2 = NULL AND
DestT.Column3 = NULL
如果我离开了那里的条件,它返回从SourceT的所有记录与NULL在DestT没有发现这些记录的值一起 - 这工作得很好。当我在底部添加WHERE子句时(即使只有一个条件),它会返回零值。
我可以尝试DestT.Column1 = NULL,或DestT.Column1 <> NULL - 仍然没有返回。我的查询正确返回NULL值,但WHERE条件不起作用,或者不允许任何数据通过。
任何想法这里发生了什么?从本质上讲,我试图根据许多条件将视图中的行插入到表A中并不存在的行中。
谢谢
有人吗?我也尝试添加到左边的条件DestT.Column1 = NULL,没有运气JOIN:/ – SomeOne
我有工作没有内部连接,并添加以下: WHERE NOT EXISTS \t(SELECT * FROM表 \t WHERE ...条件) 但该死的查询是缓慢@超过2分钟,每个表中10,000条记录? – SomeOne