Bonjour, je viens vous demander un petit peu d'aide pour une requête.
J'essaye de récupérer la dernière image d'un article pour chaque catégorie afin de mettre une mise en forme plus conviviale.
Seulement, je me suis perdu dans ma requête, honte à moi
Je me suis planté à ce niveau :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT p.idcatalog, p.urlcatalog, p.titlecatalog, p.idlang, p.idclc, p.idcls, c.pathclibelle,img.imgcatalog, lang.codelang FROM mc_catalog AS p JOIN ( SELECT max( p.idcatalog ) id, c.idclc FROM mc_catalog AS p LEFT JOIN mc_catalog_c AS c ON c.idclc = p.idclc GROUP BY c.idclc )catalog_id_max ON ( p.idcatalog = catalog_id_max.p ) LEFT JOIN mc_catalog_c AS c ON ( c.idclc = p.idclc ) LEFT JOIN mc_catalog_img as img ON ( img.idcatalog = p.idcatalog ) LEFT JOIN mc_lang AS lang ON ( p.idlang = lang.idlang ) WHERE p.idlang = 0
EDIT: j'ai trouvé#1054 - Unknown column 'catalog_id_max.p' in 'on clause'mais j'aimerai l'optimisé pour qu'elle sois beaucoup plus rapide et aussi ne sélectionner que les enregistrements avec une image non null une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SELECT p.idcatalog, p.urlcatalog, p.titlecatalog, p.idlang, p.idclc, p.idcls, c.pathclibelle, img.imgcatalog, lang.codelang FROM mc_catalog AS p JOIN ( SELECT max( p.idcatalog ) id, c.idclc FROM mc_catalog AS p LEFT JOIN mc_catalog_c AS c ON c.idclc = p.idclc GROUP BY c.idclc )catalog_id_max ON ( p.idcatalog = catalog_id_max.id ) LEFT JOIN mc_catalog_c AS c ON ( c.idclc = p.idclc ) LEFT JOIN mc_catalog_img AS img ON ( img.idcatalog = p.idcatalog ) LEFT JOIN mc_lang AS lang ON ( p.idlang = lang.idlang ) WHERE p.idlang =0
Partager