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