Bonjour,
Je fais appel à vous, car je bloque sur une requête.
J'arrive à faire en plusieurs requêtes, ce que je vais vous décrire, mais étant au milieu d'une boucle for PHP, j'arrive vite à 5000 requêtes sur ma page et ça ne me plait pas du tout !
J'ai une table "commande" contenant un id (int), un fournisseur (varchar) et une date (date)
J'ai également une table "contenu" contenant l'id de la commande "id_commande", un produit "id_kdo" et un prix.
Si je veux récupérer par exemple le contenu des commandes ayant le produit 1, je fais cela
J'ai mis des * pour éviter le listing de tout ce que je veux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT cont.*, com.* FROM contenu cont LEFT JOIN commande com ON com.id=cont.id_commande WHERE cont.id_kdo IN (1) GROUP BY com.id
En fait, cette requête me va, mais j'aurais besoin de récupérer les commandes contenant uniquement le produit "1", dans le dernier cas je peux avoir les produits 1, 2 et 3 et la commande sera quand même recrachée par la requête.
En creusant, j'ai vu qu'il existe la fonction EXISTS en SQL, mais je ne sais pas si c'est ce dont j'ai besoin, et si oui je ne comprends pas trop comment l'adapter dans mon cas.
Merci d'avance pour votre aide
Cédric
Partager