Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Impossibile associare l'identificatore in più parti - Subquery

Non è possibile accedere a un alias da un join all'interno di un'altra sottoquery unita. Dovrai utilizzare quanto segue che unisce la sottoquery su due colonne/tabelle:

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

Oppure può essere scritto come:

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