【发布时间】:2018-06-24 13:44:19
【问题描述】:
我想查询存储在 MySQL 数据库中的 Wordpress 数据,以获得包含列的结果:
- post_id
- 类别
- 逗号分隔标签
预期输出:
+---------------+----------+----------------+
| post_id | category | tags |
|---------------+----------+----------------+
| 213 | news | tag1,tag2,tag3 |
+---------------+----------+----------------+
这是我尝试过的:
SELECT
p.id,
c.name,
GROUP_CONCAT(t.`name`)
FROM wp_posts p
JOIN wp_term_relationships cr
on (p.`id`=cr.`object_id`)
JOIN wp_term_taxonomy ct
on (ct.`term_taxonomy_id`=cr.`term_taxonomy_id` and ct.`taxonomy`='category')
JOIN wp_terms c
on (ct.`term_id`=c.`term_id`)
JOIN wp_term_relationships tr
on (p.`id`=tr.`object_id`)
JOIN wp_term_taxonomy tt
on (tt.`term_taxonomy_id`=tr.`term_taxonomy_id`
and tt.`taxonomy`='post_tag')
JOIN wp_terms t
on (tt.`term_id`=t.`term_id`)
结果,我得到了我想要的列和预期的内容,但是我只得到一行。
我做错了什么?
【问题讨论】:
-
您包含一个聚合函数,但没有 group by 子句。这是基本的东西。