Bonjour à tous et à toutes,

Je suis dans une impasse, j'ai une requête SQL qui marche mais j'aimerai savoir si il est possible de la rendre "plus belle".

Actuellement j'ai une table "Panier" composé d'un id et d'un libellé,
Puis une table "Lot" qui est composé d'un Id, d'un libellé, et de deux champs nommé respectivement legume1 et legume2.

Donc si on récapitule, une lot est lié à un panier mais un panier peut contenir plusieurs lots qui lui même contient n*2 légumes.


Je dois faire une recherche pour recherche par exemple un panier qui est à la fois composé de "courgette" et de "carottes" si il existe.

Et malheureusement je n'ai pas trouvé mieux que de faire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
SELECT Panier.* 
FROM Panier, Lot 
WHERE Lot.Panier_id=Panier.id AND
     Lot.legume1="courgette" AND 
     Panier.id in (
          select Panier.id 
          from Panier, Lot 
          where Lot.legume2="carotte")
     group by Panier.id
Avez vous-des pistes de réflexion ?