Задать вопрос

Как выполнить join на стороне linked сервера?

Здравствуйте, господа.
Необходимо сджоинить две таблицы, при чем одна из них находится на другом сервере.
Примерный пример:

SELECT c.id AS card_id
, cmo.SaleID AS sale_user_name
, c.vin
FROM  dbo.Cards AS c 
INNER JOIN SQL11.Clients.dbo.cmOrders AS cmo 
ON cmo.VIN = c.vin
       WHERE(cmo.id =(SELECT MAX(id) 
				FROM SQL11.Clients.dbo.cmOrders AS cmo2
					WHERE      (VIN = c.vin)))

Да, такой вот кривой запрос...
Где-то слышал, что в такого рода запросах можно явно указывать, на какой стороне выполнять джоин. В данном случае необходимо, чтобы он был на 11м сервере, тк таблица очень большая, и нет смысла гонять туда-сюда лишний раз ее.

Есть ли какие-нибудь мысли?
  • Вопрос задан
  • 2595 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
@rze
autobot
Либо через ф-ю OPERNROWSET.

SELECT f.* FROM OPENROWSET( 'SQLNCLI', ' Server='Server.domain.local; Trusted_Connection=yes;,
     'SELECT column1, column2 FROM remotedb.schemaname.tablename WHERE column1 IS NOT NULL
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы