Une instruction select renvoyant le nom, la ville et l'état de chaque fournisseur situé dans une ville et un état uniques (excluant les fournisseurs ayant la même ville et l'état avec un autre fournisseur)SQL Server - Sous-requêtes corrélées/auto-joint
SELECT
VendorName, VendorCity, VendorState
FROM
Vendors
WHERE
VendorState + VendorCity NOT IN (SELECT VendorState + VendorCity
FROM Vendors
GROUP BY VendorState + VendorCity
HAVING COUNT(*) > 1)
ORDER BY
VendorState, VendorCity;
réponse autre
SELECT
VendorName, VendorCity, VendorState
FROM
Vendors AS Vendors_Main
WHERE
VendorCity + VendorState NOT IN (SELECT VendorCity + VendorState
FROM Vendors AS Vendors_Sub
WHERE Vendors_Sub.VendorID <> Vendors_Main.VendorID)
ORDER BY
VendorState, VendorCity;
Je comprends la première réponse, mais pas la requête alternative. Point de confusion: la ligne ci-dessous ne renvoie-t-elle pas 0 lignes puisqu'elles référencent la même table sans clause where supplémentaire?
WHERE Vendors_Sub.VendorID <> Vendors_Main.VendorID)