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

Pourquoi pas Nom de colonne non valide Erreur XYZ dans la sous-requête ; bien que le nom de la colonne ne soit pas dans la table de sous-requête ?

Les sous-requêtes héritent des colonnes des requêtes externes.

Je suppose que votre SomeOtherDb.dbo.Customer a une colonne CustomerId (ce qui semble également probable d'après les noms).

Ce qui signifie alors probablement aussi que vous ne faites pas avec la sous-requête ce que vous voulez en faire - si la table de la sous-requête n'a pas de colonne CustomerId (et il semble que ce soit le cas, sinon il n'y aurait pas d'erreur lors de l'exécution de la sous-requête dans lui-même), alors la sous-requête sélectionne et renvoie l'ID client extérieur, et puisque c'est la seule colonne de la sous-requête, la sous-requête est inutile.