Mysql
 sql >> Database >  >> RDS >> Mysql

Cerca gli ordini che hanno due prodotti, uno con riferimento specifico, l'altro con descrizione specifica

Se ho capito bene, vuoi trovare un ordine che abbia una riga d'ordine che soddisfa una condizione (riferimento ="F40") e un'altra riga d'ordine che soddisfa un'altra condizione (description ="Spada").

L'esecuzione di un unico join non risolverà il problema, poiché cercherai una riga d'ordine che soddisfi entrambe le condizioni. Dovresti invece fare qualcosa del genere:

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"
)