0

在 MySQL 中,如果我有两个 select 语句AB并且都返回一列整数

例如:

A返回

4
6
20
8
2
10
15

B返回

3
5
8
13
10
15
80
58

B我怎样才能将它们组合成一个表并过滤掉所有重复项(如果它在则删除A),如下所示:

4
6
20
8
2
10
15
3
5
13
80
58

谢谢

4

1 回答 1

0

表本质上是无序的。用于组合表中的值的 SQL 操作是union

select A.*
from A
union
select B.*
from B;

请注意,值的顺序很可能会发生变化。

编辑:

如果您想在“B”的剩余值之前从“A”获取值,您可以这样做:

select col
from (select A.col, 'A' as which
      from A
      union all
      select B.col, 'B'
      from B
      where not exists (select 1 from A where A.col = B.col)
     ) ab
order by which;
于 2013-09-02T21:56:13.233 回答