Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

Messages: 87

Enregistré le: 24 Juil 2004

Message le Mar Mar 24, 2009 13:27

Bonjour,

Je ne comprends pas pourquoi ma requête SQL fait des doublons

$sql = "SELECT ads_id, xoops_catads_ads.cat_id, ads_title, postcode, tagged, colour, sex, ads_type,suspend, view, age, created, up, uptimestamp, xoops_catads_ads.uid, com_itemid, com_uid, proposition_artiste,title,xoops_catads_cat.cat_id,xoops_users.uid,xoops_users.uname,xoops_users.user_avatar
FROM xoops_catads_ads
LEFT JOIN xoops_catads_cat ON xoops_catads_cat.cat_id = xoops_catads_ads.cat_id
LEFT JOIN xoops_xoopscomments ON xoops_xoopscomments.com_itemid = xoops_catads_ads.ads_id
LEFT JOIN xoops_users ON xoops_users.uid = xoops_catads_ads.uid
WHERE suspend = 0 ".$etatsql1." ".$etatsql2." ".$etatsql3."
ORDER BY xoops_catads_ads.ads_id DESC
LIMIT ".$limit_start.", ".$pagination."";


La colonne ads_id est l'identifiant unique de la question.
En faisant mysql_fetch_assoc je me retrouve avec plusieurs fois le même ads_id

Avez-vous une idée du pourquoi ça fait ça avec une jointure mais pas avec requête simple ?



Merci :-)
Haut
9 Réponses
Messages: 2088

Enregistré le: 30 Avr 2006

Message le Mar Mar 24, 2009 13:53

Bonjour,

As-tu essayé avec un GROUP BY ?

du genre

Code: Tout sélectionner
....
GROUP BY xoops_catads_ads.ads_id
ORDER BY xoops_catads_ads.ads_id DESC
LIMIT ".$limit_start.", ".$pagination."";


?
Haut
Messages: 87

Enregistré le: 24 Juil 2004

Message le Mar Mar 24, 2009 14:04

Tu es génial c'est ça :-)

Merci infiniment !

Grâce à toi je viens d'éviter probablement de nombreuses heures de galère.

:D
Haut
Messages: 2088

Enregistré le: 30 Avr 2006

Message le Mar Mar 24, 2009 14:08

Tout le plaisir est pour moi ;-)
Haut
Messages: 1599

Enregistré le: 5 Oct 2007

Message le Mar Mar 24, 2009 16:42

druart a écrit:Tout le plaisir est pour moi ;-)

decidement t'es M. mysql en ce moment :)
Haut
Messages: 4024

Enregistré le: 14 Sep 2006

Message le Mar Mar 24, 2009 17:21

Bon bah j'peux chômer moi c'est cool, j'arrive c'est répondu :mrgreen:
Haut
Messages: 2088

Enregistré le: 30 Avr 2006

Message le Mar Mar 24, 2009 21:54

YoyoS a écrit:Bon bah j'peux chômer moi c'est cool, j'arrive c'est répondu :mrgreen:



Et bien à force de suivre tous tes tuyaux tu vois j'ai fini par apprendre :-)
Haut
Messages: 2

Enregistré le: 12 Juil 2017

Message le Mer Juil 12, 2017 9:38

Bonjour à tous.

Je suis novice en SQL, et je me retrouve avec des doublons, j'imagine qu'il s'agit d'un problème de jointure.

pouvez-vous m'aidez svp?

SELECT ART.REF, ART.DES, ART.TIERS, ART.CDEFOQTE, ART.STCOD, MOUV.CDNO, MOUV.CDDT, MOUV.BLDT, MOUV.BLNO, MOUV.FADT, MOUV.FANO, MOUV.CDQTE, MOUV.TICOD, MOUV.PICOD, MOUV.CDCE4, MOUV.DEPO, MVTL.DELDEMDT, MVTL.DELACCDT, MVTL.DELREPDT
FROM ERPDIVALTO.dbo.ART ART, ERPDIVALTO.dbo.FOU FOU, ERPDIVALTO.dbo.MOUV MOUV, ERPDIVALTO.dbo.MVTL MVTL
WHERE MOUV.REF = ART.REF AND MOUV.CDNO = MVTL.PINO AND ART.TIERS = FOU.TIERS AND ((MOUV.CDNO=61602248) AND (MOUV.TICOD='F') AND (MOUV.CDCE4='1') AND (MOUV.DEPO='50'))


pour info CDNO et PINO correspondent au même champ.

Merci d'avance pour votre aide.
Cordialement,
Haut
Messages: 252

Enregistré le: 22 Oct 2015

Message le Mer Juil 12, 2017 11:39

Avec SELECT DISTINCT ?
Haut
Messages: 2

Enregistré le: 12 Juil 2017

Message le Mer Juil 12, 2017 12:48

:idea:
Comme par magie!!
Ca fonctionne nikel
Merci beaucoup!!
Bonne journée
Haut

Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.