比较两个数据库表

Sanghamitra lahiri

我有两个数据库表,tmp1和tmp2

tmp1:

+----+------+---------+---------+
| id | name | add1    | add2    |
+----+------+---------+---------+
| 1  | NULL | NULL    | NULL    |
| 2  | NULL | NULL    | NULL    |
| 3  | mum1 | rajpur1 | rajpur2 |
| 4  | mum3 | rajpur3 | rajpur4 |
| 5  | mum4 | rajpur4 | rajpur5 |
+----+------+---------+---------+

tmp2:

+----+------+---------+---------+
| id | name | add1    | add2    |
+----+------+---------+---------+
| 1  | NULL | NULL    | NULL    |
| 2  | mum  | rajpur  | rajpur1 |
| 3  | NULL | NULL    | NULL    |
| 4  | mum2 | rajpur2 | rajpur3 |
| 5  | mum4 | rajpur4 | rajpur5 |
+----+------+---------+---------+


select a.id 
from tmp1 a 
inner join tmp2 b 
where a.id = b.id 
  and (a.name is NULL or a.add1 is NULL or a.add2 is NULL) 
   or (a.name!=b.name or a.add1!=b.add1 or a.add2!=b.add2);

在这里,我尝试了上面的代码以显示以下结果:

+----+
| id |
+----+
| 1  |
| 2  |
| 3  |
| 4  | 
+----+

但这并没有显示我想要的结果。

在这里,我要打印第一个表的ID,其中一个或多个其他行的值要么为null,要么一个或多个其他行的值与tmp2的那些行值不匹配。

界线

您错过了ON正如Impaler所指出的那样,还需要检查temp2中的列NULL

select a.id 
from tmp1 a 
inner join tmp2 b on a.id=b.id
where coalesce(a.name,a.add1,a.add2,b.name,b.add1,b.add2) is null or
      coalesce(a.name,a.add1,a.add2)<>coalesce(b.name,b.add1,b.add2));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

比较两个数据库表的值-> MySQL

从两个数据库表进行比较,两个值

基于两个数据库表之间的数据比较创建oracle视图

通过比较两个数据库表 Codeigniter/Mysql 删除匹配值

如何比较两个数据库中所有表的所有列

比较实例中每个数据库的两个表的行数

LINQ代码合并两个数据库表?

同步两个数据库表SQL Server

两个数据库的同步

在Elixir Ecto中联接两个表属于两个数据库

在两个数据库的两个不同表中插入相同的Guid键

比较两个数据库中的多列数据

两个数据库之间比较数据模型的选项?

比较来自CakePHP中两个数据库的数据

如何比较YII2中的两个数据库表字段?

ForEach循环数据插入到两个数据库表中

Springbatch从两个数据库表中读取数据并写入XML文件

带有两个数据库“表”,“外键”和“实时数据”的房间

使用来自两个数据库表的数据填充 RecyclerView Item

在 DataList 元素中显示来自两个数据库表的数据 - Asp.NET

如何从两个数据库表中删除数据

从两个数据库表生成嵌套的json数据

比较两个相似表、不同数据库之间的数据

用两个模型将数据保存到两个数据库表中

在Django Admin中将两个数据库表用于一个控件

无法找到与两个数据库/表的MySQL差异

如何将两个数据库表转换为多维JSON文件?

合并/合并两个数据库表中的字段

将相同的Django模型对象存储在两个数据库表中