|
Iniciado por cciochir_at_, jun., 17 2005 5:00 PM - 3 respostas |
| |
| | | |
|
| |
Publicado em junho, 17 2005 - 5:00 PM |
Bonjour à tous,
Je souhaite construire une requete via l'assisant requete de WINDEV. Pour expliquer la situation, j'ai un fichier planning auquel je veux relier le fichier des chantiers ainsi que le fichier client.
Ma requete SQL ressemble à ca: SELECT PPLANNING.PPCOMPT AS PPCOMPT, PPLANNING.PPEVENEM AS PPEVENEM, PPLANNING.PPNOCLI AS PPNOCLI, PCHANT.CHCPRO AS CHCPRO, PCLIENT.CLNCLI AS CLNCLI, PCLIENT.CLNMFA AS CLNMFA FROM PPLANNING LEFT OUTER JOIN PCHANT ON PPLANNING.PPEVENEM = PCHANT.CHCPRO, PPLANNING LEFT OUTER JOIN PCLIENT ON PPLANNING.PPNOCLI = PCLIENT.CLNCLI
Quand j'essaie de l'éxécuter j'ai un message d'erreur indiquant: Indicatif de table en double PPLANNING incorrect
Je précise, que si j'enlève la ligne suivante alors ca fonctionne .... PPLANNING LEFT OUTER JOIN PCLIENT ON PPLANNING.PPNOCLI = PCLIENT.CLNCLI
Help aux spécialistes SQL!
Merci d'avance
-- Bon développement à tous Christian
cciochir@ _ at _ cmii.fr |
| |
| |
| | | |
|
| | |
| |
Publicado em junho, 17 2005 - 5:53 PM |
Avec MaxDB ta requete serait: SELECT PPLANNING.PPCOMPT AS PPCOMPT, PPLANNING.PPEVENEM AS PPEVENEM, PPLANNING.PPNOCLI AS PPNOCLI, PCHANT.CHCPRO AS CHCPRO, PCLIENT.CLNCLI AS CLNCLI, PCLIENT.CLNMFA AS CLNMFA FROM PPLANNING LEFT OUTER JOIN PCHANT ON PPLANNING.PPEVENEM = PCHANT.CHCPRO LEFT OUTER JOIN PCLIENT ON PPLANNING.PPNOCLI = PCLIENT.CLNCLI
Frédéric. |
| |
| |
| | | |
|
| | |
| |
Publicado em junho, 17 2005 - 6:17 PM |
Salut Christian, comme Frédéric le mentionne, tu ne dois pas répéter le nom de ta table PPLANNING lors de ton 2e LEFT OUTER JOIN.
En SQL, lorsque tu met une virgule après la définition de ton JOIN, c'est comme si tu insérais une autre table dans ta requête pour l'interpréteur.
Tu dois donc faire tes JOIN comme ceci :
SELECT * FROM nomTable1 LEFT OUTER JOIN nomTable2 ON champstbl1 = champstbl2 LEFT OUTER JOIN nomTable3 ON champstbl1 = champstbl3
Voilà !
Luc St-Yves |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 19 2005 - 6:37 PM |
Luc St-Yves avait prétendu :
Salut Christian, comme Frédéric le mentionne, tu ne dois pas répéter le nom de ta table PPLANNING lors de ton 2e LEFT OUTER JOIN.
En SQL, lorsque tu met une virgule après la définition de ton JOIN, c'est comme si tu insérais une autre table dans ta requête pour l'interpréteur.
Tu dois donc faire tes JOIN comme ceci :
SELECT * FROM nomTable1 LEFT OUTER JOIN nomTable2 ON champstbl1 = champstbl2 LEFT OUTER JOIN nomTable3 ON champstbl1 = champstbl3
Voilà !
Luc St-Yves
Je vous remercie à tous les deux, mais dans ce cas pourquoi WD remet le nom du fichier une deuxième fois? En fait ce que je vous ai affiché c'était le code SQL généré en automatique par WD!!!
Ca signifie que je dois me faire ma requete à la main....ouf ouf ouf
Merci encore, je vais essayer de ce pas
A+
-- Bon développement à tous Christian
cciochir@ _ at _ cmii.fr |
| |
| |
| | | |
|
| | | | |
| | |
|