0

我有 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 查询可以实现?

4

3 回答 3

2

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

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

table2. 然后从 中取出额外的行table1,基于mid

于 2013-05-24T14:27:01.860 回答
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)在每个单独的表中都是唯一的。

于 2013-05-24T14:17:18.467 回答
1

根据您的要求 与 MID 进行比较,如果发现重复条目​​,请从表 2 中获取结果

此查询将帮助您:

select  * from  Table1 
where MID  not in ( select distinct MID from Table2 )
union 
select  mid,item,price,quantity from    Table2;

看看这个小提琴

谢谢。

于 2013-05-24T14:30:11.533 回答