Mysql
 sql >> база данни >  >> RDS >> Mysql

Извършване на заявки за множество таблици

Заявка:

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

Резултат:

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

Ето какво поискахте с помощта на GROUP_CONCAT. Всяка съставка е разделена с ,



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO не може да свърже отдалечен mysql сървър

  2. Избягване на пропускане на ред чрез next() Метод на ResultSet

  3. Грешка в атрибута:модулът „mysql“ няма атрибут „конектор“

  4. CASE в WHERE CLAUSE в MYSQL

  5. Показване на всички дати между тях, дори и да няма резултат