Bonjour.
Je cherche à faire un select, certainement simple pour vous les pros, mais qui me freeze le cerveau
J'ai deux tables assez simples (j'ai simplifié le code si dessous au max hein !):
Problème : la table ItemLinks est humainement illisible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 CREATE TABLE "Items" ( "ITEM_ID" integer, "NAME" text UNIQUE ); CREATE TABLE "ItemLinks" ( "TRUNK_ID" integer, "LINKED_ID" integer, CONSTRAINT "ItemLinks_LINKED_REF" FOREIGN KEY ("LINKED_ID") REFERENCES "ItemDatas" ("ID") MATCH SIMPLE, CONSTRAINT "ItemLinks_TRUNK_REF" FOREIGN KEY ("TRUNK_ID") REFERENCES "ItemDatas" ("ID") MATCH SIMPLE );
Je voudrais donc faire une vue de ce style, mais évidement, ça ne fonctionne pas.
Notez que je place deux fois les mêmes colonnes dans mon select mais sous des alias différents, et c'est la où je bloque en fait.
Tout est censé (dans mon esprit) se jouer dans le WHERE :
La requête me jete au niveau du WHERE en disant que la colone trunkid n'existe pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT "Items"."Name" AS trunkname, "Items"."ITEM_ID" as trunkid, "Items"."NAME" AS lnkname, "Items"."ITEM_ID" AS lnkid FROM public."Items", public."ItemLinks" WHERE trunkid = public."ItemLinks"."TRUNK_ID" AND lnkid = public."ItemLinks"."LINKED_ID";
Pourriez-vous me dire ce qu'il faut faire en fait?
un Grand MERCI d'avance![]()
Partager