现在有A表和B表,A表是业务表,B表是关系表。
A表2个字段a,b,分别存储公司ID和用户ID
B表2个字段c,d,分别存储公司ID和用户ID
2个表的公司和用户 都是一对多的关系。
由于操作原因,导致A表里面出现了错误数据,有几十条数据是错误的-----错误数据里面,公司ID正确,但是用户ID错填成其他公司的用户ID了。
B表即关系表的数据是绝对正确的
我想通过AB联查,查找出A里面的错误数据
A表2个字段a,b,分别存储公司ID和用户ID
B表2个字段c,d,分别存储公司ID和用户ID
2个表的公司和用户 都是一对多的关系。
由于操作原因,导致A表里面出现了错误数据,有几十条数据是错误的-----错误数据里面,公司ID正确,但是用户ID错填成其他公司的用户ID了。
B表即关系表的数据是绝对正确的
我想通过AB联查,查找出A里面的错误数据
SELECT A.*
FROM A LEFT JOIN B
ON A.A=B.C AND A.B=B.D
WHERE B.C IS NULL
select * from a where exists(select 1 from b where b.c=a.a and b.d!=a.b) 试试