在wordpress中,自定义帖子保存在wp_posts
表格中,其ID在另一个表格wp_meta
中引用,其中包含以下列post_id, meta_key, meta_value
假设我在pudding
中有一个名为wp_posts
的食谱,在wp_meta
我有3 meta_keys: "time_for_preparation", "ingredients", "difficulty"
如何编写一个mysql查询,使用3个meta_keys返回一行?
如果我进行内连接,我会看到3组“布丁”,每组都有相同的wp_posts
数据和一个不同的meta_key
我想要的是一行pudding
,其中包含一系列meta_keys
可以做到吗?
答案 0 :(得分:0)
create table wp_post
(
id int identity(1,1),
name nvarchar(200)
)
create table wp_meta
(
id int identity(1,1),
postid int,
metaname nvarchar(200)
)
insert into wp_post select 'Apple'
insert into wp_meta select 1,'red'
select * from wp_post
select * from wp_meta
select *
,stuff((select ', ' +metaname from wp_meta where postid=w.id for xml path('')), 1, 1,' ')
from wp_post as w
这完全由我在MS SQL Server中完成
将此更改为您可以看到此帖子有MYSql how-do-i-create-a-comma-separated-list-using-a-sql-query
<强>被修改强>
因为我没有mysql,但我试图通过使用我建议你的网址来转换它,所以我认为这将在mysql中,如下所示
SELECT w.name,
GROUP_CONCAT(m.meta_key, ',')
FROM wp_post w
JOIN wp_meta m ON m.post_id= w.id
GROUP BY w.name