Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Die mehrteilige Kennung konnte nicht gebunden werden – Unterabfrage

Sie können nicht auf einen Alias ​​aus einer Verknüpfung innerhalb einer anderen verknüpften Unterabfrage zugreifen. Sie müssen Folgendes verwenden, um die Unterabfrage mit zwei Spalten/Tabellen zu verbinden:

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

Oder dies kann geschrieben werden als:

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