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