Поделиться через


Использование самосоединений

Таблицу можно соединить с собой в самосоединение. Например самосоединение можно использовать, чтобы найти товары, которые поставляют несколько производителей.

Поскольку следующий запрос соединяет таблицу ProductVendor саму с собой, таблица ProductVendor появляется в двух ролях. Чтобы добиться этих ролей, таблице ProductVendor необходимо назначить два различных псевдонима (pv1 и pv2) в предложении FROM. Эти псевдонимы используются для описания имен столбцов в оставшейся части запроса. Пример инструкции Transact-SQL с самосоединением:

USE AdventureWorks;
GO
SELECT DISTINCT pv1.ProductID, pv1.VendorID
FROM Purchasing.ProductVendor pv1
INNER JOIN Purchasing.ProductVendor pv2
ON pv1.ProductID = pv2.ProductID
    AND pv1.VendorID <> pv2.VendorID
ORDER BY pv1.ProductID

См. также

Основные понятия

Использование операторов в выражениях

Другие ресурсы

Предложение WHERE (Transact-SQL)
SELECT (Transact-SQL)
Операторы (Transact-SQL)
Примеры использования инструкции SELECT (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005