Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

L'identifiant en plusieurs parties n'a pas pu être lié - Sous-requête

Vous ne pouvez pas accéder à un alias à partir d'une jointure à l'intérieur d'une autre sous-requête jointe. Vous devrez utiliser ce qui suit qui joint la sous-requête sur deux colonnes/tables :

SELECT * 
FROM TableA a
INNER JOIN TableB b 
  ON b.B1=a.A1
INNER JOIN 
(
  SELECT * 
  FROM TableC c
) d 
  ON d.C2=b.B2
  AND d.C1 = b.B1

Ou cela peut être écrit comme :

SELECT * 
FROM TableA a
INNER JOIN TableB b 
  ON b.B1=a.A1
INNER JOIN TableC c
  ON c.C2=b.B2
  AND c.C1 = b.B1