PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → SQL et HF7
SQL et HF7
Débuté par seb, 05 jan. 2005 17:47 - 3 réponses
Posté le 05 janvier 2005 - 17:47
Bonjour,

J'ai beaucoup de mal avec la syntaxe SQL et HF7 avec les jointures

J'ai une Table CLIENTS et CAT ( code libelle ) Un clients peut avoir
une catégorie ( bon , pas bon etc )

Liste des clients avec la catégorie : Pas de problèmes:

SELECT clients.code_cli, clients.Nom, clients.adresse1, clients.adresse2,
clients.date_fin_rth, cat.libelle
FROM clients LEFT JOIN cat ON cat.code=clients.cat

Par contre j'ai une seconde table liée à Client : CAT2( code, libelle ) du
même type

Et la je coince , impossible de faire ma reqêtte ( avec double jointure)
( je sais faire avec des clauses Where et And mais )


SELECT clients.code_cli, clients.Nom, clients.adresse1, clients.adresse2,
clients.date_fin_rth, cat.libelle, cat2.libelle
FROM clients LEFT JOIN cat2 ON cat2.code=clients.cat2
LEFT JOIN cat ON cat.code=clients.cat

Cette syntaxe ne fonctionne pas, j'ai essayé de plusieurs eplacement de
parenthèses mais
je n'y arive pas.

Qui peut me donner un coup de main pour ma syntaxe de jointures ?

******
Sinon avec clause Where cela fonctionne

SELECT Clients.Nom AS Nom,
Clients.prenom AS prenom,
cat.libelle AS libelle1,
cat2.libelle AS libelle2,
Clients.ville AS ville
FROM cat, cat2, Clients
WHERE Clients.cat = cat.code
AND Clients.cat2= cat2.code
Posté le 05 janvier 2005 - 18:19
Ici c'est le forum sur Windev 8 (et bientôt 9 d'ailleurs) !
Il faut aller dans pcsoft.fr.windev.old pour les anciennes versions !
Posté le 05 janvier 2005 - 18:23
Merci mais c'est WIndev 8 que j'utilise
( HF 7 ça veut dire HyperFile 7 et non Windev 7 -:)
La requête est executée avec HexecuterequeteSQL


"Patrick" <no@perso.fr> a écrit dans le message de
news:41dc093f@news.pcsoft.fr...

Ici c'est le forum sur Windev 8 (et bientôt 9 d'ailleurs) !
Il faut aller dans pcsoft.fr.windev.old pour les anciennes versions !


Posté le 12 janvier 2005 - 15:30
Pour les jointures multiples, tu peux essayer la structure suivante :

FROM clients LEFT JOIN cat ON (clients.cat=cat.code), clients LEFT JOIN cat2 ON (clients.cat2=cat2.code)


Good luck !