Bonjour à tous et à toutes,
Je vous demande de l'aide pour réaliser une requête avec une jointure.
La première table est "tb_produits"
Elle a 4 champs : "id" "url_onglet" "nom_produit" "affichage"
"16" "objets-anciens" "Globe Terrestre Avec Boussole" "1"
"17 "objets-anciens" "Gramophone Shellac" "1"
"18 "objets-anciens" "carte du monde" "0"
La deuxième table est "tb_images_produits
Elle a 3 champs : "num_produit" "nom_img_produit" "odr_aff_img"
17 mecanisme-gramophone-shellac.webp 30
17 gramophone-shellac.webp 20
17 gramophone-shellac.webp 10
16 globe-terrestre.webp 10
16 boussole-vieux-globe-terrestre.webp 20
16 boussole-globe-terrestre.webp 30
18 carte1.webp 10
18 carte2.webp 20
J'aimerais afficher seulement les images des produits ou le champ "affichage" est égale à 1 et une seul image, celle qui a le plus petit numéro dans le champ "odr_aff_img"
Voici ma requete qui m'affiche une erreur (Error : SQLSTATE[42S22]: Column not found: 1054 Unknown column 'P.id' in 'field list')
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $liste_img_nouveautes = $bdd->prepare('SELECT P.id,P.url_onglet, P.url_sous_onglet, P.nom_produit,P.affichage, I.num_produit, I.nom_img_produit,I.odr_aff_img FROM tb_produits LEFT JOIN (SELECT nom_img_produit, MIN( odr_aff_img ) AS img FROM tb_images_produits GROUP BY num_produit) AS I ON P.id = I.num_produit WHERE P.affichage = :sugges_ok GROUP BY I.num_produit'); $liste_img_nouveautes->bindValue('sugges_ok', 1, PDO::PARAM_INT);
Partager