从表中的两列中仅选择不同的值

usr*_*986 5 sql sql-server sql-server-2008

如果我有一张桌子如

1 A

1 B

1 A

1 B

2 C

2 C
Run Code Online (Sandbox Code Playgroud)

我想从两列中选择不同的,以便我得到

1 

2 

A

B

C
Run Code Online (Sandbox Code Playgroud)

我该如何说出我的查询?是连接列并将它们包装在不同的函数运算符周围的唯一方法吗?

And*_*mar 7

您可以使用a union来创建两个列中所有值的表:

select  col1 as BothColumns
from    YourTable
union
select  col2
from    YourTable
Run Code Online (Sandbox Code Playgroud)

不同的是union all,union删除重复项,即使它们来自同一侧union.