繁体   English   中英

使用sql比较两个表

[英]Comparison of two tables using sql

我有两个表-表A(id,a1)和表B(id,b1)我要在A.id = B.id上连接两个表,并且要检查连接的记录,如果a1等于b1。 这是我使用过的查询,但是以某种方式并没有给我结果。 (PS:表A中存在相同ID的重复记录)

select A.id, B.id, A.a1, B.b1
from tableA A join
     tableB B
     on A.id = B.id
where concat(A.id, a1) <> concat (B.id, b1)

请让我知道这是什么错误。 可能有一个更简单的解决方案,但我不知道。

由于join缘故, id相同,这不是一样吗?

select A.id, B.id, A.a1, B.b1
from tableA A join
     tableB B
     on A.id = B.id
where a1 <> b1;

如果使用的数据库中CONCAT()的值为NULL忽略NULL值,则可以使用:

select A.id, B.id, A.a1, B.b1
from tableA A join
     tableB B
     on A.id = B.id
where coalesce(a1, '') <> coalesce(b1, '')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM