我的问题如下:
我有两个完全相同的表(不同的名字):
id, object_id, timestamp, value1, value2
我想要一个查询,它显示表1中的所有值但不在表2中(表2中的所有行都在表1中)。
重要提示:当object_id,timestamp和value1相同时,我认为同一行(id和value2可能不同)。
提前致谢。
答案 0 :(得分:0)
尝试以下代码:
select a.* from table1 a
left join table2 b
on a.object_id=b.object_id and a.timestamp=b.timestamp and a.value1=b.value1
where b.object_id is null
您正在创建从一个表到另一个表的左连接 - 因此,如果表1中出现的任何内容都不包含在表2中。
通过添加where条件,您可以过滤table1中存在记录而不是table2
的行