Empêcher les lignes retournées en doubles

abdeslam1999 Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
 abdeslam1999 -
Bonjour,

j'ai tenté de sélectionner plusieurs champs dans plusieurs tables(jointures) mais le problème que j'ai rencontré les lignes retournées sont doublées.

j'ai utilisé la fonction distinct mais toujours le meme problème voilà la requête et les tables (elles sont en jointures) vous pouvez faire copier et coler les tables dans un editeurs puis executer la requête pour les choses être en calire:

la requete

select consultation_frs.consult_frs_id as consult_frs_id,consult_frs_art.article_id,
fournisseur.fournisseur_id,consultation_frs.consult_ach_id
,article.code_article as code_article,consult_frs_art.qte_consult as qte_consult ,nom_fournisseur,ref_consult,date_consult_frs,etat_consult_frs,mode_consult_frs from article,consult_frs_art,consultation_frs,fournisseur,consultation_achat where fournisseur.fournisseur_id=consultation_frs.fournisseur_id and consultation_achat.consult_ach_id=consult_frs_art.consult_ach_id and article.article_id=consult_frs_art.article_id and consultation_achat.consult_ach_id=consultation_frs.consult_ach_id


les tables:vous pouvez faire copier et coler tout ce code
-- ---------------------------------------------------------------------------------------------------------

1 réponse

Jean_Jacques Messages postés 1040 Date d'inscription   Statut Membre Dernière intervention   112
 
Bonjour abdeslam1999,

GROUP By permet d'éviter les doublons.

Le lien de référence : http://sql.1keydata.com/fr/sql-group-by.php

Un exemple d'utilisation provenant de ce lien :

SELECT store_name, SUM(Sales)
FROM Store_Information
GROUP BY store_name

Cordialement
0
abdeslam1999
 
mais cette fonction sert dans l'agrégation (max(),min(),agv()....etc) et j'ai déjà utilisé Group by oui vraiement les lignes retournées ne sont pas doublées mais un autre problème qui généré certain colonne retourne même champ (dans le cas de ma requête c'est code article A0103,A0103,A0103).

si vous voulez faire un teste sur cette requête et tu voie la résultat:


sans groupe by

select consultation_frs.consult_frs_id,consult_frs_art.article_id,
fournisseur.fournisseur_id,consultation_frs.consult_ach_id
,article.code_article as code_article,consult_frs_art.qte_consult as qte_consult ,nom_fournisseur,ref_consult,date_consult_frs,etat_consult_frs,mode_consult_frs from article,consult_frs_art,consultation_frs,fournisseur,consultation_achat where fournisseur.fournisseur_id=consultation_frs.fournisseur_id and consultation_achat.consult_ach_id=consult_frs_art.consult_ach_id and article.article_id=consult_frs_art.article_id and consultation_achat.consult_ach_id=consultation_frs.consult_ach_id





avec groupe by

select consultation_frs.consult_frs_id,consult_frs_art.article_id,
fournisseur.fournisseur_id,consultation_frs.consult_ach_id
,article.code_article as code_article,consult_frs_art.qte_consult as qte_consult ,nom_fournisseur,ref_consult,date_consult_frs,etat_consult_frs,mode_consult_frs from article,consult_frs_art,consultation_frs,fournisseur,consultation_achat where fournisseur.fournisseur_id=consultation_frs.fournisseur_id and consultation_achat.consult_ach_id=consult_frs_art.consult_ach_id and article.article_id=consult_frs_art.article_id and consultation_achat.consult_ach_id=consultation_frs.consult_ach_id

group by consultation_frs.consult_frs_id
0