Как мне объединить 2 таблицы с разных серверов
У меня есть таблица 1 в базе данных 1 на сервере 1, и я хочу соединить столбец 1 в таблице 1 в базе данных 1 на сервере 2 с таблицей 1 в базе данных 1 на сервере 1.
Что я уже пробовал:
Я запустил сценарий следующим образом, чтобы подключить 2 сервера
exec sp_addlinkedserver 'server2'
а потом я использовал этот скрипт, чтобы объединить мои 2 таблицы
SELECT Table1.Column1, [server2]. [database1].dbo.table1.column1 FROM Table1, [server2].[database1].dbo.table1.column1 LEFT OUTER JOIN [server2].[database1].dbo.table1 ON(Table1.Column1 = [server2]. [database1].dbo.table1.column1) ORDER BY table1.column1
Santosh kumar Pithani
При создании связанного сервера следует использовать "Select Т1.коль,Т2.столбец col2 от [linkedserver1].[дБ].ДБО.таблица1 как Т1 внутреннее соединение [linkedserver2].[дБ].ДБО.таблица2 как Т2 по(Т1.на col1=Т2.на col1)"
Member 13475897
Спасибо, это вроде как сработало. Единственная проблема заключается в том, что в моей таблице нет данных.Пожалуйста, найдите мой полный запрос ниже и попросите меня записать его в терминах таблицы 1 и т. д. если тебе это нужно.
выберите OEINVH.INVNUMBER,OEINVH.ORDNUMBER,OEINVH.SHINUMBER,OEINVH.ПОКУПАТЕЛЬ,
OEINVD.LINENUM, ICITEM.ITEMNO,ICIOTH.MANITEMNO[штрих-код], OEINVD.QTYSHIPPED,OEINVD.INVUNIT,OEINVD.Цена,
OEINVD.EXTINVMISC[строка Итого], SalesOrderDetail.sord_Name
от [SVWSUSAV].[LOGDAT].dbo.OEINVH КАК OEINVH
ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ OEINVD ON(OEINVH.INVUNIQ = OEINVD.INVUNIQ)
ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ ICITEM ON(OEINVD.ITEM = ICITEM.FMTITEMNO)
ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ ICIOTH ON(ICITEM.ITEMNO = ICIOTH.ITEMNO И ICIOTH.ЕДИНИЦА ИЗМЕРЕНИЯ = OEINVD.ИНВУНИТ)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ [CRM\SQLEXPRESS].[CRM_Test].dbo.SalesOrderDetail как SalesOrderDetail
ON(OEINVH.Клиент = таблицы salesorderdetail.sord_Name разобрать равным database_default)
ГДЕ ОЕИНВХ.КЛИЕНТ В('SHO006','SHO005')
И OEINVH.INVUNIQ NOT IN(выберите INVUNIQ из InvoiceSent)
И OEINVH.INVDATE >= 20180415
заказ от OEINVH.INVNUMBER,OEINVD.LINENUM
Santosh kumar Pithani
вы использовали имена таблиц несколько раз,не давая правильных псевдонимов, возникнут проблемы двусмысленности.