Mysql
 sql >> Base de données >  >> RDS >> Mysql

Rechercher des commandes comportant deux produits, l'un avec une référence spécifique, l'autre avec une description spécifique

Si je vous comprends bien, vous voulez trouver une commande qui a une ligne de commande satisfaisant une condition (référence ="F40") et une autre ligne de commande satisfaisant une autre condition (description ="Epee").

Faire une seule jointure ne résoudra pas ce problème, car vous chercherez une ligne de commande qui satisfait aux deux conditions. Vous devriez faire quelque chose comme ceci à la place :

SELECT orderNumber FROM `order`
WHERE id IN (
    SELECT orderid FROM orderDetail od1
    INNER JOIN orderDetail od2
    USING (orderid)
    WHERE od1.reference = 'F40' AND od2.description = "Epee"
)