sql >> Database >  >> RDS >> Mysql

Zoek naar bestellingen met twee producten, één met specifieke referentie, andere met specifieke beschrijving

Als ik u goed begrijp, wilt u een bestelling vinden waarvan de ene orderregel aan een voorwaarde voldoet (referentie ="F40") en een andere orderregel die aan een andere voorwaarde voldoet (description ="Epee").

Een enkele join lost dit niet op, omdat u zoekt naar één orderregel die aan beide voorwaarden voldoet. In plaats daarvan zou je zoiets als dit moeten doen:

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


  1. Tellen met voorwaarden

  2. mysql-duur en ophaaltijd

  3. C#-geparametriseerde queries voor Oracle - serieuze en gevaarlijke bug!

  4. MySQL Union-query duplicaat/groeperen op probleem