IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Problème sur requete (doublon) [WD16]


Sujet :

WinDev

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 210
    Points : 164
    Points
    164
    Par défaut Problème sur requete (doublon)
    Bonjour,
    voici ma requête
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    SELECT DISTINCT 
    	Contact.Nom AS Nom,	
    	Contact.NumContact AS NumContact,	
    	Contact.Prenom AS Prenom,	
    	Contact.Civilite AS Civilite,	
    	Client.Société AS Société,	
    	Client.Adresse AS Adresse_Cl,	
    	Client.CodePostal AS CodePostal_Cl,	
    	Client.Ville AS Ville_Cl,	
    	Client.Téléphone1 AS Téléphone1,	
    	Client.EMail AS EMail_Cl,	
    	Client.Type AS Type,	
    	Client.Proprietaire AS Proprietaire,	
    	Client.NumClient AS NumClient_Cl,	
    	Client.Prof_part AS Prof_part,	
    	Contact.ContactDefaut AS ContactDefaut,	
    	Client.Nbreemploye AS Nbreemploye,	
    	FINANCEUR_Client.IDFINANCEUR AS IDFINANCEUR
    FROM 
    	Client LEFT OUTER JOIN FINANCEUR_Client ON FINANCEUR_Client.NumClient	=	Client.NumClient,	
    	Client LEFT OUTER JOIN Contact ON Contact.NumClient	=	Client.NumClient
    WHERE 
    	(
    	Client.Proprietaire = {Param_Proprio}
    	AND	Client.Type = {Param_Type}
    	AND	Client.Prof_part = 0
    	AND	Contact.ContactDefaut = 1
    	AND	FINANCEUR_Client.IDFINANCEUR = {Param_id_financeur}
    )
    ORDER BY 
    	Société ASC
    Le problème est que s'il y a plusieurs Financeur_client, le résultat de ma requête affichera plusieurs fois le même client.

    Si quelqu'un a une idée pour éviter ces doublons sur les clients ?

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 136
    Points : 241
    Points
    241
    Par défaut
    Comme tu le constate, avec cette requête du demandes les différents financeur_client de tes clients.

    D'après ta demande, il y a 2 choses que tu peux vouloir :

    un financeur_client par client, pris au "hasard"
    Dans ce cas, peut-être qu'un group by sur le code client fonctionnerait (mais là, ça dépend fortement de la base utilisé et même si ça fonctionne, ce n'est pas jolie), ou une requête imbriqué dans le select.

    Tout les financeur_client de chaque client
    Dans ce cas, la requête est la bonne et il faut juste que tu joue sur l'affichage.
    Ou alors tu peux faire deux requête, la première qui interroge les clients puis, une 2e requête qui recherche les financeur_client de chaque client.

    Note : Connaître la BDD utilisée serait un plus même si je supose qu'il s'agit d'une base HyperFile

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 210
    Points : 164
    Points
    164
    Par défaut
    oui,

    c'est une base hyperfile avec d'un coté un fichier client et de l'autre un fichier financeur au milieu un fichier financeur_client

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 210
    Points : 164
    Points
    164
    Par défaut
    En réfléchissant bien...
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    SELECT DISTINCT 
    	Contact.Nom AS Nom,	
    	Contact.NumContact AS NumContact,	
    	Contact.Prenom AS Prenom,	
    	Contact.Civilite AS Civilite,	
    	Client.Société AS Société,	
    	Client.Adresse AS Adresse_Cl,	
    	Client.CodePostal AS CodePostal_Cl,	
    	Client.Ville AS Ville_Cl,	
    	Client.Téléphone1 AS Téléphone1,	
    	Client.EMail AS EMail_Cl,	
    	Client.Type AS Type,	
    	Client.Proprietaire AS Proprietaire,	
    	Client.NumClient AS NumClient_Cl,	
    	Client.Prof_part AS Prof_part,	
    	Contact.ContactDefaut AS ContactDefaut,	
    	Client.Nbreemploye AS Nbreemploye
    FROM 
    	Client LEFT OUTER JOIN FINANCEUR_Client ON FINANCEUR_Client.NumClient	=	Client.NumClient,	
    	Client LEFT OUTER JOIN Contact ON Contact.NumClient	=	Client.NumClient
    WHERE 
    	(
    	Client.Proprietaire = {Param_Proprio}
    	AND	Client.Type = {Param_Type}
    	AND	Client.Prof_part = 0
    	AND	Contact.ContactDefaut = 1
    	AND	FINANCEUR_Client.IDFINANCEUR = {Param_id_financeur}
    )
    ORDER BY 
    	Société ASC

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème sur requete outer join
    Par lindounette dans le forum Développement
    Réponses: 3
    Dernier message: 22/08/2011, 15h49
  2. Problème sur requete SQLite
    Par JCMANSION dans le forum Android
    Réponses: 2
    Dernier message: 06/12/2010, 07h32
  3. problème sur requete insert
    Par shadowmoon dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/06/2005, 11h46
  4. [ASA] Problème sur requete ASA
    Par shadeoner dans le forum SQL Anywhere
    Réponses: 6
    Dernier message: 06/04/2005, 14h35
  5. [ASA] Problème sur requete
    Par shadeoner dans le forum SQL Anywhere
    Réponses: 9
    Dernier message: 30/03/2005, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo