с довольно низким уровнем в sql, я пришел за вашей помощью, потому что я заблокирован.
Итак, у меня есть база данных, содержащая мои 2 таблицы, таблицу статей и таблицу категорий.В моей таблице статей у меня есть поле, содержащее идентификаторы категорий, к которым он принадлежит в формате JSON.
Схематически таблица категорий выглядит следующим образом:
| Name | id |
| Cat1 | 1 |
| Cat2 | 2 |
| Cat3 | 3 |
И таблицы статей:
| Title | id | Categories |
| Title1 | 1 | [1,2] |
| Title2 | 2 | [1,3] |
| Title3 | 3 | [2,3] |
В настоящее время я извлекаю свои статьи следующим образом:
SELECT *
FROM articles a
JOIN categories c
ON JSON_CONTAINS(a.categories, CAST(c.id AS CHAR))
Затем в php я группирую их по категориям.Но я нахожу, что это решение не очень чистое.
Поэтому я хотел знать, может ли запрос SQL получить список статей, уже сгруппированных по категориям, следующим образом:
Cat1
- Статья 1
- Статья 2
cat2
- Статья 1
- Статья 3
Cat3
- Статья 2
- Статья 3