le 22/02/2012 à 09:51
Je galère sur une jointure
Bonjour à tous !
Là je galère sur une jointure, j'ai du zapper un truc et ça me rend fou !
Explication :
2 tables
Une avec des "articles", l'autre avec les coloris dispos (en général).
Table synchro_articles
id_article
id_produit
reference_article
reference_produit
grille_coloris
valeur_coloris
grille_taille
valeur_taille
Table synchro_coloris
COLORISL_NOCOLORIS
COLORISL_REFC
COLORISL_LIB20
COLORISL_GCOLORIS
Le but est de recuperer le libellé (COLORISL_LIB20) en fonction de la grille et de la valeur du coloris indiqués dans la table synchro_articles
Les champs n'ont pas les memes noms car je synchronise 2 systemes totalement différents.
Actuellement j'ai ecris cette fonction :
SELECT DISTINCT `synchro_articles`.`grille_coloris`, `synchro_articles`.`valeur_coloris`,`synchro_coloris`.`COLORISL_LIB20`
FROM `synchro_articles` UNION JOIN `synchro_coloris`
ON `synchro_articles`.`grille_coloris` != ''
OR `synchro_articles`.`valeur_coloris` != ''
AND `synchro_coloris`.`COLORISL_REFC`=`synchro_articles`.`valeur_coloris`
AND `synchro_coloris`.`COLORISL_GCOLORIS`=`synchro_articles`.`grille_coloris`
Mais je recupere enormement d'enregistrement car il duplique chaque couple grille_coloris et valeur_coloris pour m'afficher toutes les possibilités de libellés (colorisl_lib20).
Si quelqu'un a une idée je suis preneur !
Merci d'avance !
Là je galère sur une jointure, j'ai du zapper un truc et ça me rend fou !
Explication :
2 tables
Une avec des "articles", l'autre avec les coloris dispos (en général).
Table synchro_articles
id_article
id_produit
reference_article
reference_produit
grille_coloris
valeur_coloris
grille_taille
valeur_taille
Table synchro_coloris
COLORISL_NOCOLORIS
COLORISL_REFC
COLORISL_LIB20
COLORISL_GCOLORIS
Le but est de recuperer le libellé (COLORISL_LIB20) en fonction de la grille et de la valeur du coloris indiqués dans la table synchro_articles
Les champs n'ont pas les memes noms car je synchronise 2 systemes totalement différents.
Actuellement j'ai ecris cette fonction :
SELECT DISTINCT `synchro_articles`.`grille_coloris`, `synchro_articles`.`valeur_coloris`,`synchro_coloris`.`COLORISL_LIB20`
FROM `synchro_articles` UNION JOIN `synchro_coloris`
ON `synchro_articles`.`grille_coloris` != ''
OR `synchro_articles`.`valeur_coloris` != ''
AND `synchro_coloris`.`COLORISL_REFC`=`synchro_articles`.`valeur_coloris`
AND `synchro_coloris`.`COLORISL_GCOLORIS`=`synchro_articles`.`grille_coloris`
Mais je recupere enormement d'enregistrement car il duplique chaque couple grille_coloris et valeur_coloris pour m'afficher toutes les possibilités de libellés (colorisl_lib20).
Si quelqu'un a une idée je suis preneur !
Merci d'avance !