J'ai un problème avec la prochaine requête SQL (générée par sequelize ORM):colonne n'existe pas dans la jointure externe après alias
SELECT
"Publication".*,
"user"."id" AS "user.id"
FROM
(SELECT "Publication"."club_id" AS "clubId", "Publication"."user_id" AS "userId" FROM "publication" AS "Publication" WHERE ("Publication"."club_id" = '1')) AS "Publication"
LEFT OUTER JOIN "user_account" AS "user" ON "Publication"."user_id" = "user"."id";
L'erreur résultant est:
ERROR: column Publication.user_id does not exist
LINE 6: LEFT OUTER JOIN "user_account" AS "user" ON "Publication"."... ^
Mon intuition ce qui se passe est que "Publication"."user_id"
est en cours d'alias comme userId
. Ensuite, la requête est en cours d'alias comme "Publication"
(en écrasant l'étiquette qui se référait précédemment à la table). La jointure externe gauche essaie de faire correspondre la nouvelle propriété Publication
user_id
avec user.id
, mais elle est impossible car elle s'appelle désormais userId
. Est-ce que je comprends correctement le problème?
Merci, lad2025. Je cherchais à vérifier ma compréhension plus que réparer le problème. J'ai aussi fait le changement que vous avez proposé, mais je voulais être sûr des raisons. –