我可以将现有表中的不同值列表插入到另一个现有表中:
insert into [MyDb]..[User]
([UserName])
(Select distinct [PersonName]
from [Server].[Db].[dbo].[People]
where [Person] != 'Unknown')
内部选择语句带回来的地方Jim,Jon,Joe
所以表看起来像:
UserName | DisplayName
----------------------
Jim | NULL
Jon | NULL
Joe | NULL
但我想把这个相同的列表放在[User]表格的另一列中,比如:
insert into [MyDb]..[User]
([UserName],[DisplayName])
values (
(Select distinct [PersonName]
from [Server].[Db].[dbo].[People]
where [Person] != 'Unknown')
,
(Select distinct [PersonName]
from [Server].[Db].[dbo].[People]
where [Person] != 'Unknown')
)
所以决赛桌看起来像:
UserName | DisplayName
----------------------
Jim | Jim
Jon | Jon
Joe | Joe
像这样选择两个不同的列表是行不通的。我尝试给内部选择语句一个不起作用的别名。我想我可以在两个单独的语句中轻松地做到这一点,但我想知道[DisplayName] = [UserName]在插入列表语句期间是否有语法......
是否可以在一笔交易中做到这一点?