我的sql水平很低,我来寻求你的帮助,因为我被阻止了。
因此,我有一个包含两个表的数据库,一个article表和一个category表。在我的article表中,我有一个字段,它以json格式包含它所属类别的id。
从示意图上看,categories表如下所示:
| 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查询是否可以通过以下方式检索已按类别分组的文章列表:
第1类
-第1条
-第2条
第2类
-第1条
-第3条
第三类
-第2条
-第3条
1条答案
按热度按时间rt4zxlrg1#
创建一个新表是更好的数据库设计
ArticleCategories
列出每个文章类别:ArticleID, CatID
其中一个articleid可以有多个catid。。。现在您可以将多个类别关联到一篇文章,并使用sql轻松地搜索这个新数据库,以查找类别和文章之间的关联。