Bonjour à tous.
J'ai à ce jour une requête avec jointure sous la forme:
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
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é:
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
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?
Partager