sql - 如何在 SQL Server 中执行跨服务器插入?
问题描述
我在 2 台服务器中有 3 张桌子。
- 服务器 A 中的表 A
- 服务器 B 中的表 B
- 服务器 B 中的表 C
服务器 A 和服务器 B 已链接。
表 A:
Fruit Quantity Total Price
Apple 2 4
Banana 4 12
Orange 6 24
表 B:
Fruit Unit Price
Apple 2
Banana 3
Orange 4
表 C:
Fruit Quantity Unit Price Total Price
Apple 2 2 4
Banana 4 3 12
Orange 6 4 24
我需要从表 A 获取数据到表 C。我还需要参考表 B 以获取表 C 所需的单价。我所做的是:
insert into [Server B].[DatabaseName].[SchemaName].[Table C]
select
Fruit, Quantity, '', Total Price
from table A
但我仍然无法得到水果的单价。我可以知道我可以使用哪种查询来获取单价并放入上面的选择查询中吗?
解决方案
要完成答案,您可以这样做:
insert into [Server B].[DatabaseName].[SchemaName].[Table C]
select a.Fruit, a.Quantity, b.[unit price], a.[Total Price]
from table A
join [Server B].[DatabaseName].[SchemaName].[Table B] B on A.fruit = B.fruit
解释
你加入你的table a
,这样你就可以从和其他数据table b
中获取单价。可用于将数据插入b
a
c
推荐阅读
- ssis - 作业失败并出现错误:无法将行添加到输出缓冲区 SSIS
- python - 如何检查一个项目是否在 PHP 的 list.txt 中?
- amazon-s3 - AWS S3 将参数添加到签名的 url
- java - 2个值之间的硒比较失败
- css - React&TypeScript:样式表对象的类型是什么?
- angular - Angular Material Stepper,每个步骤都有单独的组件 - ExpressionChangedAfterItHasBeenCheckedError
- java - Spring MethodArgumentNotValidException 字段始终为空
- python - Impyla 连接。无法启动 SASL。没有可用的机制
- python - 使用绝对路径配置 pytest.ini
- php - 如何从 RabbitMQ que 获取消息并使用 twillio API 将其发送到用户手机