Condividi tramite


Utilizzo di self join

Un self join consente di unire una tabella a se stessa. È possibile, ad esempio, utilizzare un self join per trovare i prodotti offerti da più fornitori.

Poiché la query riportata di seguito comporta l'esecuzione di un join della tabella ProductVendor con se stessa, la tabella ProductVendor svolge due ruoli. Tali ruoli possono essere distinti assegnando alla tabella ProductVendor due alias diversi, pv1 e pv2, nella clausola FROM. I due alias vengono utilizzati per qualificare i nomi delle colonne nella parte rimanente della query. Di seguito è riportato un esempio di istruzione di self join 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

Vedere anche

Concetti

Utilizzo di operatori nelle espressioni

Altre risorse

WHERE (Transact-SQL)
SELECT (Transact-SQL)
Operatori (Transact-SQL)
Esempi di istruzioni SELECT (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005