如何从第一个查询获取所有值,只从第二个查询中获取一些值?

时间:2017-11-23 06:32:46

标签: sql postgresql

我的第一个查询给了我[a,b,b,c]

我的第二个查询给了我[b,d]

目前我正在使用union all获取所有值,但这给了我第1和第2个查询的所有内容,

然而,我想要的是来自第一个查询的所有值[a,b,b,c] +来自第二个查询的一些[d] = resultList [a,b,b,c,d]

p / s:我不想要第二个查询中的'b'

我应该使用什么方法来获取resulList ??

2 个答案:

答案 0 :(得分:0)

你可以使用这种结构。

select * from TableA
union all 
(select * from TableB
except 
select * from TableA)

SQL Fiddle

答案 1 :(得分:0)

你可以用这个

select * from tableA
union all 
(select * from tableB
where id not in(select*from tableA));

http://sqlfiddle.com/#!17/d47c9/1