首页 > 解决方案 > 如何在 SQL Server 中执行跨服务器插入?

问题描述

我在 2 台服务器中有 3 张桌子。

  1. 服务器 A 中的表 A
  2. 服务器 B 中的表 B
  3. 服务器 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

但我仍然无法得到水果的单价。我可以知道我可以使用哪种查询来获取单价并放入上面的选择查询中吗?

标签: sqlsql-serverlinked-server

解决方案


要完成答案,您可以这样做:

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中获取单价。可用于将数据插入bac


推荐阅读