从2个表中获取所有唯一条目

时间:2013-05-24 14:13:28

标签: ios sql sqlite

我有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查询来告诉我这个?

3 个答案:

答案 0 :(得分:2)

这是表达逻辑的简单方法:

select *
from table2
union all
select *
from table1
where table1.mid not in (select mid from table2)

table2获取所有内容。然后根据table1mid获取额外的行。

答案 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

感谢。