sql >> Databasteknik >  >> RDS >> Mysql

mysql select har flera n till n

SELECT     R.ID, R.Recipe, R.Directions
FROM       Ingredients_tbl I
           INNER JOIN recipe_to_ingredient RI ON I.id = RI.id_ingredient 
           INNER JOIN recipes_tbl R ON R.id = R.id_recipe  
WHERE      I.ID IN (1 ,2)
GROUP BY   R.ID, R.Recipe, R.Directions
HAVING     COUNT(*) > 1

Borde göra det, även om ingredienserna i det här exemplet är hårdkodade till att bara vara 1 eller 2. Jag skulle behöva veta mer om hur du tänker tillhandahålla ingrediens-id:n för att ge mer på den fronten.



  1. Villkorlig WHERE-sats med CASE-sats i Oracle

  2. Binära data i MySQL

  3. Kör rå SQL vid migrering

  4. Referensalias (beräknat i SELECT) i WHERE-satsen