我的問題是極其類似: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