0
基本上我試圖建立一個表(我們稱之爲table3),它只有來自table1的記錄有計數0,1,或根本不出現在表2中。表1和表3在數據庫1中,而表2在數據庫2中。MySQL:如果table1中的記錄在表2中的計數爲0或1,則添加到table3
這是最接近我可以得到這個工作。
INSERT INTO database1.table3 (col1, col2, ...)
SELECT t1.col1, t1.col2, ...
FROM database1.table1 AS t1
LEFT JOIN database2.table2 AS t2 ON t1.columnToMatch = t2.columnToMatch
WHERE (t2.count < 2);
TLDR:我希望table1中沒有出現在table2中的所有內容都被添加到table3中。如果table1中的記錄出現在表2我只想把它列入表3,如果table2.count是0或1
謝謝
ON table1.columnToMatch = table2.columnToMatch WHERE table2.columnToMatch IS NULL 我很困惑。這不會有一場比賽嗎? ON部分永遠不會評估爲真,對嗎? – 2014-11-09 01:46:02
'LEFT JOIN'會給你'table1'中的所有記錄,無論他們在另一個表中是否有吊墜。 'ON'部分標識匹配,但也會給你非匹配記錄(來自第一個表)。運行沒有WHERE部分的第一個查詢來查看這裏發生了什麼。看看[這個鏈接](http://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins),因爲不同的連接類型在這裏描述得非常好。 – Benvorth 2014-11-09 08:40:06