Rechercher : dans
Par :

[SQL-WINDEV] Problème LEFT JOIN

Dernière réponse le 29 oct 2008 à 15:30:46 markaz, le 21 aoû 2008 à 12:12:36 
 Signaler ce message aux modérateurs

Bonjour,
J'ai établi une requête en SQL ( sous WINDEV) qui me permet de faire la liste de clients n'ayant pas solde leur credit.
j'ai utilisé pour cela une jointure entre différentes tables [ CLIENT(matricule, nom...), VERSEMENT(code_vers, #numero_magasin, #matricule_client....) MAGASIN(numero,...)]. Voici le code:
SELECT CLIENT.matricule AS matricule,
CLIENT.Nom AS Nom,
CLIENT.Prenom AS Prenom,
VERSEMENT.numero AS Numero,
VERSEMENT.montantcpte AS Montant,
SUM(VERSEMENT.Montantverse) AS totalvers,
VERSEMENT.solde as Solde
FROM CLIENT
LEFT JOIN Versement ON CLIENT.matricule = VERSEMENT.matricule
LEFT JOIN magasin ON versement.numero = magasin.numero
WHERE VERSEMENT.libelle like '%Pas de porte%'
AND VERSEMENT.chantier={param}
GROUP BY CLIENT.matricule,CLIENT.Nom, CLIENT.Prenom, VERSEMENT.numero, versement.numero, VERSEMENT.montantcpte
Mon probleme est le second LEFT JOIN est souligné (indication d'une erreur).
Comment faire pour que les deux jointure marche?

Configuration: Windows XP
Internet Explorer 8.0

Meilleures réponses pour « [SQL WINDEV] Problème LEFT JOIN » dans :
SQL - éviter les doublons dans un SELECT VoirProblème Comment éviter les doublons dans les résultats d'une requête SQL ? Solution Il suffit d'utiliser la clause DISTINCT entre SELECT et les champs. Exemple : SELECT distinct id,nom,prenom FROM matable Plus d'informations ...
Gestion des paramètres SQL VoirSQL présente un certain nombre de paramètres au niveau d'Oracle qu'il est possible de visualiser à travers la commande : SHOW ALL Pour modifier la valeur d'un paramètre il suffit d'utiliser la commande : SET NOM_PARAM VALEUR
Sauvegarde automatique d'une BDD sous SQL EXPRESS 2005 VoirSi vous vous voulez automatiser une sauvegarde d'une base de données sous SQL server express, il existe une solution simple grâce à un fichier .bat. Créez un nouveau fichier texte. Ce fichier doit contenir les informations suivantes: SET...
SQL - Jointures VoirExpression des jointures Une jointure (ou θ-jointure) est un produit cartésien de deux tables. On appelle équijointure une θ-jointure dont la qualification est une égalité entre deux colonnes. En SQL, l'expression d'une jointure se...
SQL - Création de table VoirLe SQL, comportant un langage de définition de données (LDD), permet de créer des tables. Pour cela, il utilise le couple de mots clés CREATE TABLE. La création de tables Le création de tables se fait à l'aide du couple de mots-clés CREATE...
Le langage SQL VoirQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,...

1

BmV, le 21 aoû 2008 à 12:13:36
  • +1

Salut.

"S'il vous plait" ????
"Merci d'avance" ????

Ta requête ne serait-elle pas plus présentable avec au moins l'un de ces petits "mots magiques", que ta maman t'a sans doute appris ?

D'autant que tu t'adresses à des bénévoles à qui tu demandes un service gratuit !!!!

Encore heureux que le "Bonjour" était préimprimé dans le champ texte, sinon ....

http://www.commentcamarche.net/ccmguide/ccmcharte respect autrui.php3#politesse

. -=O(_BmV_)O=-   "Ce n'est pas parce que l'homme a soif d'amour qu'il doit se jeter sur la première gourde !" (P. Desproges)

Répondre à BmV

2

markaz, le 21 aoû 2008 à 12:23:32
  • +1

Je veux tout simplement savoir comment faire la jointure de 3 tables sous windev avec LEFT JOIN. Comme ceci:

FROM CLIENT
LEFT JOIN Versement ON CLIENT.matricule = VERSEMENT.matricule
LEFT JOIN magasin ON versement.numero = magasin.numero)
WHERE VERSEMENT.libelle like '%Pas de porte%'

Parce j'ai un message d'erreur sur le 2ème LEFT JOIN

Répondre à markaz

3

Anonyme, le 21 aoû 2008 à 12:40:57

Bonjour

Oui pardon BmV, excusez-moi :
Pouvez-vous s'il vous plaît m'aider :))

"j'ai un message d'erreur sur le 2ème LEFT JOIN"

Merci
Groupe d'auto-servitude ; à votre service ;))

Répondre à Anonyme

4

markaz, le 21 aoû 2008 à 12:46:56
  • +1

Le 2ème LEFT est souligné (comme ça LEFT donc la requête ne marche pas.

Répondre à markaz

5

 r1, le 29 oct 2008 à 15:30:46

Au lieu de mettre :

LEFT JOIN Versement ON CLIENT.matricule = VERSEMENT.matricule
LEFT JOIN magasin ON versement.numero = magasin.numero

mets

LEFT JOIN Versement ON CLIENT.matricule = VERSEMENT.matricule
And magasin ON versement.numero = magasin.numero

@+

Répondre à r1