我有2个表,我想从2个表中获取所有不重复的表,例如 如下图所示
Table1
MID, ITEM, PRICE, QUANTITY
1000 ab 10 5
2000 bc 20 6
Table2
MID, ITEM, PRICE, QUANTITY
3000 cd 30 4
1000 ed 10 7
结果应为
MID, ITEM, PRICE, QUANTITY
3000 cd 30 4
1000 ed 10 7
2000 bc 20 6
请通过使用哪个SQLite查询来告诉我这个?
答案 0 :(得分:2)
这是表达逻辑的简单方法:
select *
from table2
union all
select *
from table1
where table1.mid not in (select mid from table2)
从table2
获取所有内容。然后根据table1
从mid
获取额外的行。
答案 1 :(得分:1)
根据您的评论,您可以过滤Table1
中同样位于Table2
中的行:
select *
from Table1 t1
where not exists
(
select *
from Table2 t2
where t1.mid = t2.mid
and t1.item = t2.item
)
union all
select *
from Table2
我假设(mid, item)
在每个表中都是唯一的。
答案 2 :(得分:1)
根据您的要求与MID进行比较,如果找到重复条目,则从表2中获得结果
此查询将有助于您:
select * from Table1
where MID not in ( select distinct MID from Table2 )
union
select mid,item,price,quantity from Table2;
查看 Fiddle
感谢。