在MySQL中比较数据两个表

时间:2012-06-20 08:06:33

标签: mysql sql

有两个表

Table A
id column_a
01 abc
01 abc
02 abc
02 abc
02 abc
03 abc
03 abc
04 abc

表B

id column_b
01 abc
02 abc
02 abc
03 abc
04 abc

我想比较上面的这两个表,并将结果列在表a中,但不在表b中:

id column_a
01 abc
01 abc
02 abc
03 abc

我怎么能在MySQL中做到这一点?

非常感谢!

更新

3 个答案:

答案 0 :(得分:5)

SELECT A.* FROM A
LEFT JOIN B ON A.column_a = B.column_b AND A.id = B.id
WHERE B.id IS NULL

答案 1 :(得分:2)

尝试

SELECT A.* FROM A
LEFT JOIN B ON A.ID=B.ID AND A.column_a=B.column_b
WHERE B.ID IS NULL

此致

答案 2 :(得分:1)

试试这个:

select a.id,a.column_a
from (select count(*) as a_num, id,column_a 
from table_a group by id having count(*) > 1) as a 
left join (select count(*) as b_num, id from table_b group by id having count(*) > 1) as b 
on a.a_num > b.b_num;