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确实会按顺序执行这些操作,但没有持续的保证