我在MySQL中有两个表。它们都有两列。如何使用MySQL检查一个表中的一行是否在另一个表中?
例如,
table 1:
a, c
b, a
d, f
table 2:
a, k
c, a
g, m
c, l如何检查表1中的每一行:(a,c) (b,a) (d,f)是否存在于表2中,然后在表1中创建一个新列,其中包含每一行在表2中出现的时间?顺序在这里并不重要,因此(a,c)与(c,a)相同。因此,在本例中,表1中一行(a,c)与表2中的一次匹配。
发布于 2012-11-15 23:53:19
SELECT a.col1, a.col2, COUNT(b.col1)
FROM table1 a LEFT JOIN table2 b
ON (a.col1 = b.col1 OR a.col1 = b.col2)
AND (a.col2 = b.col1 OR a.col2 = b.col2)
GROUP BY a.col1, a.col2发布于 2012-11-15 23:11:01
使用LEFT JOIN以便显示table1的所有记录,即使它在table2上没有记录
SELECT a.col1, a.col2, COUNT(b.col1)
FROM table1 a
LEFT JOIN table2 b
ON a.col1 = b.col1 AND
a.col2 = b.col2
GROUP BY a.col1, a.col2https://stackoverflow.com/questions/13400192
复制相似问题