bonjour,
je dois convertir une requête mysql 4.1 vers 5.0. Je tiens à préciser que je ne suis pas responsable de la création de la requête originale.
une fois changé la syntaxe de la partie LEFT JOIN, la requête ne renvoie plus rien alors qu'avant elle renvoyait 215 tuples.
je ne comprends pas pourquoi.
avant avec la 4.1 :Après avec la 5.0:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT distinct C1.libelle_categorie, C3.libelle_categorie, C2.libelle_categorie, C4.libelle_categorie, flag_phare, code_produit, if(denomination_vente1='', '...', concat(lower(denomination_vente1), ' ', denomination_vente2)) denomination_vente, if(flaveur='', ' ', flaveur) flaveur, if(degre_alcoolique='',' ',degre_alcoolique), if(miscibilite_eau=1,'Oui','Non'), if(miscibilite_huile=1,'Oui','Non'), if(miscibilite_alcool=1,'Oui', 'Non') ,if(AC3.valeur='' OR AC3.valeur='0',' ', AC3.valeur) dosage,trim(denomination_vente1) libel_domination_vente_1, trim(denomination_vente2) libel_domination_vente_2 FROM produit, article, caracter_arome CA, article_categorie AC0, categorie C0, article_categorie AC2, categorie C2, article_categorie AC4, categorie C4 , article_categorie AC3, categorie C3 LEFT JOIN article_categorie AC1, categorie C1 ON AC1.code_categorie=C1.code_categorie AND AC1.type_categorie=C1.type_categorie WHERE produit.code_article=article.code_article AND article.code_article=AC1.code_article AND AC1.type_categorie='GOUT' AND article.code_article = CA.code_article AND article.code_article=AC0.code_article AND AC0.type_categorie=C0.type_categorie AND AC0.code_categorie=C0.code_categorie AND article.code_article=AC2.code_article AND AC2.type_categorie=C2.type_categorie AND AC2.code_categorie=C2.code_categorie AND article.code_article=AC3.code_article AND AC3.type_categorie=C3.type_categorie AND AC3.code_categorie=C3.code_categorie AND article.code_article=AC4.code_article AND AC4.type_categorie=C4.type_categorie AND AC4.code_categorie=C4.code_categorie AND article.flag_catalogue='O' AND C0.type_categorie='FAMILLE' AND C0.code_categorie='ARÔME' AND C2.type_categorie='STATUT' AND C4.type_categorie='FORME' AND C3.type_categorie='APPLICATION' AND C1.code_categorie = '1' ORDER BY C1.libelle_categorie, C3.libelle_categorie, C2.libelle_categorie, code_forme, flag_phare descquelqu'un peut-il voir ce que je n'arrive pas à comprendre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT distinct C1.libelle_categorie, C3.libelle_categorie, C2.libelle_categorie, C4.libelle_categorie, flag_phare, code_produit, if(denomination_vente1='', '...', concat(lower(denomination_vente1), ' ', denomination_vente2)) denomination_vente, if(flaveur='', ' ', flaveur) flaveur, if(degre_alcoolique='',' ',degre_alcoolique), if(miscibilite_eau=1,'Oui','Non'), if(miscibilite_huile=1,'Oui','Non'), if(miscibilite_alcool=1,'Oui', 'Non') ,if(AC3.valeur='' OR AC3.valeur='0',' ', AC3.valeur) dosage,trim(denomination_vente1) libel_domination_vente_1, trim(denomination_vente2) libel_domination_vente_2 FROM produit, article, caracter_arome CA, article_categorie AC0, categorie C0, article_categorie AC2, categorie C2, article_categorie AC4, categorie C4 , article_categorie AC3, categorie C3 , article_categorie AC1 LEFT JOIN categorie C1 ON AC1.code_categorie=C1.code_categorie AND AC1.type_categorie=C1.type_categorie WHERE produit.code_article=article.code_article AND article.code_article=AC1.code_article AND AC1.type_categorie='GOUT' AND article.code_article = CA.code_article AND article.code_article=AC0.code_article AND AC0.type_categorie=C0.type_categorie AND AC0.code_categorie=C0.code_categorie AND article.code_article=AC2.code_article AND AC2.type_categorie=C2.type_categorie AND AC2.code_categorie=C2.code_categorie AND article.code_article=AC3.code_article AND AC3.type_categorie=C3.type_categorie AND AC3.code_categorie=C3.code_categorie AND article.code_article=AC4.code_article AND AC4.type_categorie=C4.type_categorie AND AC4.code_categorie=C4.code_categorie AND article.flag_catalogue='O' AND C0.type_categorie='FAMILLE' AND C0.code_categorie='ARÔME' AND C2.type_categorie='STATUT' AND C4.type_categorie='FORME' AND C3.type_categorie='APPLICATION' AND C1.code_categorie = '1' ORDER BY C1.libelle_categorie, C3.libelle_categorie, C2.libelle_categorie, code_forme, flag_phare desc
merci.
Partager