我有以下 2 张桌子
表文章:
id subject tags
---------------------
1 subject-1 2,4,5
2 subject-2 3,5
3 subject-3 1,2
4 subject-4 2,3,4
5 subject-5 3
表标签:
id tag_name
---------------------
1 php
2 jQuery
3 css
4 mysql
5 java
我正在尝试获得类似的结果
id => 1, subject => subject-1, tag_names => jQuery,mysql,java
id => 2, subject => subject-2, tag_names => css,java
id => 3, subject => subject-3, tag_names => php,jQuery
这是我当前的尝试,它仅返回第一个标签(例如,第 1 行的 2 而不是 2、4、5)
1 SELECT
2 table_article.id,
3 table_article.subject,
4 GROUP_CONCAT(table_tags.tag_name) AS tag_names
5 FROM
6 table_article
7 LEFT JOIN
8 table_tags
9 ON
10 (table_tags.tag_id IN (table_article.tags))
11 GROUP BY
12 table_article.id
13 LIMIT
14 3
结果是
id => 1, subject => subject-1, tag_names => jquery
id => 2, subject => subject-2, tag_names => css
id => 3, subject => subject-3, tag_names => php
问题发生在第 10 行-> IN (table_article.tags)
。
我只是不知道我该如何解决这个问题,有人可以帮忙吗?