Mysql joindre donne des lignes en double
J'ai 2 tables et je suis en utilisant une jointure pour obtenir la commune enregistrements de ces 2 tableaux. j'ai utilisé la requête suivante mais mon problème est que je reçois les enregistrements doublé. La requête est la suivante
SELECT * FROM pos_metrics pm INNER JOIN pos_product_selling pps ON
pm.p_id=pps.p_id WHERE pm.p_id='0' AND pps.pos_buying_id='0' AND pm.type=1
pos_metrics table:
pos_product_selling table:
De sortie:
MODIFIER
Quand j'ai essayé d'utiliser GROUP BY et DISTINCT ensemble, je ne reçois pas les doublons, mais la valeur de la deuxième table est répété. D'autres solutions ?
OriginalL'auteur Deepak | 2011-06-15
Vous devez vous connecter pour publier un commentaire.
Ajouter une clé primaire dans la
pos_metrics
table et l'introduire à lapos_product_selling
tableau, puis faire unJOIN
basée sur la clé primaire ainsi que les autres critères. Vous n'obtiendrez pas ces doublons ensuite.La raison pour laquelle vous avez des doublons par ici, c'est parce qu'il n'y a pas de possibilité d'une comparaison unique à faire sur les deux tableaux en se fondant sur une valeur.
pos_product_selling
table"B Il a les moyens de créer une colonne sur la pos_product_selling table dont la valeur est une clé primaire sur pos_metrics. Un nom typique pour une colonne de ce type serait "pos_metrics_id"
OriginalL'auteur Shyam Natraj Kanagasabapathy
Essayer quelque chose comme ces
OriginalL'auteur Jayakrishnan K
essayez ceci:
vérifier mon montage j'ai un problème avec votre solution..
OriginalL'auteur nunu
Pour éliminer la dup, l'utilisation distinctes:
Mais j'ai un sentiment que votre question est à propos de quelque chose d'autre, et que vous auriez besoin de poster le code spécifique pour obtenir de l'aide.
Venez de modifier, trop.
Mon sentiment est que vous besoin d'un groupe de/avoir quelque part, mais votre question est en manque de contexte.
vérifier mon montage..
Eh bien, oui, c'est le résultat attendu. Ne devriez-vous pas être en utilisant quelque chose comme:
select distinct pm.* from ...
?OriginalL'auteur Denis de Bernardy
essayez la requête ci-dessus
OriginalL'auteur gmhk