Bonjour à tous.

J'ai à ce jour une requête avec jointure sous la forme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
SELECT 
  p.id_product p,
  MAX(image_shop.`id_image`) id_image
FROM 
   `ps_product`
LEFT JOIN `ps_image` i ON (i.`id_product` = p.`id_product`)
LEFT JOIN `ps_image_shop` image_shop ON (image_shop.id_image = i.id_image AND image_shop.id_shop = 2 AND image_shop.cover=1) 
WHERE p.`id_product` = 10
Maintenant j'aimerais ajouter un colone il.legend égal à MAX(image_shop.`id_image`) soit l'id_image déjà défini
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
SELECT 
  p.id_product,
  MAX(image_shop.`id_image`) id_image, il.`legend` 
FROM 
   `ps_product`
LEFT JOIN `ps_image` i ON (i.`id_product` = p.`id_product`)
LEFT JOIN `ps_image_shop` image_shop ON (image_shop.id_image = i.id_image AND image_shop.id_shop = 2 AND image_shop.cover=1) 
LEFT JOIN `ps_image_lang` il ON (il.`id_image` = (MAX(image_shop.`id_image`))  AND il.`id_lang` = 5) 
WHERE p.`id_product` = 10
J'ai essayé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
LEFT JOIN `ps_image_lang` il ON (il.`id_image` = (MAX(image_shop.`id_image`))  AND il.`id_lang` = 5)
==>#1111 - Invalid use of group function


Code : Sélectionner tout - Visualiser dans une fenêtre à part
LEFT JOIN `ps_image_lang` il ON (il.`id_image` = `id_image`  AND il.`id_lang` = 5)
==> #1052 - Column 'id_image' in on clause is ambiguous

Auriez-vous une idée?