sql >> Databáze >  >> RDS >> Mysql

Dotazování na více tabulek

Dotaz:

SELECT A.recipe_name, GROUP_CONCAT(ingredient_name) AS ingredient_names
FROM recipes A
LEFT JOIN recipe_ingredients B ON A.id = B.recipe_id
LEFT JOIN ingredients C ON B.ingredient_id = C.iid
LEFT JOIN recipe_categories D ON A.id = D.recipe_id
LEFT JOIN categories E ON D.category_id = E.cid
WHERE category_id = <serach_id>
GROUP BY id

Výsledek:

+-------------------+-------------------------------------------------+
| recipe_name       | ingredient_names                                |
+-------------------+-------------------------------------------------+
| black forest cake | chocolate,baking powder,self-raising flour,milk |
| angel cake        | self-raising flour,milk,chocolate               |
| melting moments   | milk,plain flour                                |
| croquembouche     | self-raising flour,plain flour                  |
| crepes suzette    | milk                                            |
+-------------------+-------------------------------------------------+

Zde je to, co jste požadovali pomocí GROUP_CONCAT. Každá ingredience je oddělena ,



  1. Jak selhat nebo havarovat vaše instance MySQL pro testování

  2. Bezpečnostní úvahy pro nasazení MariaDB v prostředí hybridního cloudu

  3. php problém s více databázemi

  4. postgres sql , jak zvýšit, když existuje null