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

SQL:如何选择并添加第一列下面的第二列以创建一列,sql,sql-server,Sql,Sql Server,我有一张桌子:tblperson tblperson中有两列: person1 person2 Anna Sarah Louis Mike Kisha 我想在第一列(person1)下面添加第二列(person2),以便只创建一列(persons) 我曾尝试使用UNION,但它会使我的查询变大,尤其是当涉及两个以上的列时 有人能给出生成这些记录的查询提示吗 谢谢您可以使用联合所有人,也可以使用订购人: select person fro

我有一张桌子:
tblperson

tblperson
中有两列:

person1         person2
Anna            Sarah
Louis           Mike
Kisha
我想在第一列(
person1
)下面添加第二列(
person2
),以便只创建一列(
persons

我曾尝试使用
UNION
,但它会使我的查询变大,尤其是当涉及两个以上的列时

有人能给出生成这些记录的查询提示吗


谢谢

您可以使用
联合所有人
,也可以使用
订购人

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;
按排序的
非常重要。确实,您可以简单地执行以下操作:

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

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

您可以使用
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;
排序的
非常重要。确实,您可以简单地执行以下操作:

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

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