sql - 两次插入相同的不同列表
问题描述
我可以将现有表中的不同值列表插入到另一个现有表中:
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]
在插入列表语句期间是否有语法......
是否可以在一笔交易中做到这一点?
解决方案
只需选择该列两次:
insert into [MyDb]..[User]([UserName], DisplayName)
Select distinct [PersonName], [PersonName]
from [Server].[Db].[dbo].[People]
where [Person] != 'Unknown'
推荐阅读
- sql - 每行的最大日期
- android - 如何检查 android Espresso 中活动的 API 响应?
- azure - 将所有 TCP 和 UDP 端口从负载均衡器转发到 Azure Kubernetes 服务上的 nginx 入口
- react-native - 在 React Native 中的特定点打断长词
- php - 在 laravel 中调用两个控制器
- pandas - 如何使用重新索引来填补缺失的时间步长?
- c++ - 我的 cin.fail() 检查有时会起作用,有时会出错
- c# - C# Moq 方法未返回指定的布尔值
- python - 如何使用 Python 从复杂的 json 中提取数据?
- mongodb - 为什么 pymongo.encryption 不加密?