Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wysyłanie zapytań do wielu tabel

Zapytanie:

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

Wynik:

+-------------------+-------------------------------------------------+
| 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                                            |
+-------------------+-------------------------------------------------+

Oto, o co prosiłeś, używając GROUP_CONCAT. Każdy składnik jest oddzielony przez ,



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql jak dołączać do stołów

  2. Jak przyznać użytkownikowi uprawnienia dostępu zdalnego do serwera mysql?

  3. mysql jak zapytanie wyklucza liczby

  4. Wykonanie funkcji ORDER BY RAND() zajmuje dużo czasu w mysql

  5. COUNT(id) vs. COUNT(*) w MySQL