Erreur SQL: La partie multi-identificateur “tableName.Nomcolonne” ne pouvait pas être lié
Quand LEFT JOINing
tables dans une requête SQL, j'ai parfois besoin de faire référence à plusieurs tables dans le ON
clause. Par exemple:
SELECT p.Name, j.Job, s.Salary
FROM PeopleTable p, JobTable j
LEFT JOIN SalaryTable s ON s.PeopleID=p.PeopleID AND s.JobID=j.JobID
Cependant, le ci-dessus donne à cette erreur:
Erreur SQL: Le multi-partie de l'identificateur de "p.PeopleID" ne pouvait pas être lié.
Il semble que la ON
clause dans un LEFT JOIN
instruction ne peut "voir" le dernier tableau figurant dans le FROM
liste. Est-ce vrai? Aucune solution de contournement?
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas mélanger le SQL-89 de la syntaxe de Jointure "tableau" avec le SQL-92 syntaxe de Jointure "de la table à GAUCHE de la table de JOINTURE SUR la condition"
Tandis que la croix de la syntaxe de jointure est une traduction directe de ce que vous avez fourni, il peut ne pas convenir à votre situation. Il serait associé à toutes les personnes de tous les travaux avant gauche pour rejoindre
le salaire de la table. Cela ne semble pas probable que c'est ce que vous voulez.
Avez-vous vraiment toutes les personnes qui ne sont pas associés à un salaire? Pour cette question voulez-vous voir tous les emplois qui ne sont pas associés à un salaire ou des personnes? Les données de l'échantillon et de l'ensemble de résultats serait de nous aider à vous donner une requête qui fait ce que vous avez vraiment besoin. Je soupçonne l'un des suivants peut vous donner de meilleurs résultats:
Essayer
je ne suis pas shure pourquoi si, mais à PARTIR de PeopleTable p, JobTable j peut être remplacé par la CROIX REJOINDRE
Meilleur Regrads,
Iordan