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

Warum nicht Ungültiger Spaltenname XYZ-Fehler in Unterabfrage; obwohl der Spaltenname nicht in der Unterabfragetabelle ist?

Unterabfragen erben Spalten von äußeren Abfragen.

Ich schätze, Ihr SomeOtherDb.dbo.Customer hat eine CustomerId-Spalte (was auch nach den Namen wahrscheinlich erscheint).

Was dann wahrscheinlich auch bedeutet, dass Sie mit der Unterabfrage nicht das machen, was Sie damit machen wollen - wenn die Tabelle in der Unterabfrage keine CustomerId-Spalte hat (und es scheint so, sonst würde es beim Ausführen der Unterabfrage keinen Fehler geben selbst), dann wählt die Unterabfrage die externe CustomerId aus und gibt sie zurück, und da dies die einzige Spalte in der Unterabfrage ist, ist die Unterabfrage nutzlos.