SQL:如何选择并添加第一列下面的第二列以创建一列

时间:2016-01-18 02:44:25

标签: sql sql-server

我有一张桌子:tblperson

tblperson中有两列:

person1         person2
Anna            Sarah
Louis           Mike
Kisha

我想在第一列(person2)下方添加第二列(person1)以仅创建一列(persons

persons
Anna
Louis
Kisha
Sarah
Mike

我已尝试使用UNION,但如果涉及的列数超过两列,这会使我的查询更大

任何人都可以提供查询以生成这些记录的提示吗?

谢谢

1 个答案:

答案 0 :(得分:2)

您可以使用union all执行此操作,也可以使用order by执行此操作:

select person
from (select person1 as person, 1 as which from tblperson union all
      select person2 as person, 2 from tblperson
     ) p
order by which;

order by非常重要。确实,您可以这样做:

select person1 as person from tblperson union all
select person2 as person from tblperson

但是,我认为这有点危险,因为SQL标准不保证第一个子查询在第二个子查询之前执行。实际上,SQL Server会按顺序执行这些操作,但是没有持续的保证。