2011-10-17 24 views
0

在WordPress,自定义职位在wp_posts表里,以及它们的ID在另一张表wp_meta有以下的列引用post_id, meta_key, meta_valueMySQL的 - WordPress的:一个以上的元数据值列表自定义信息

比方说,我有配方称为wp_postspudding,并在wp_meta我有3个meta_keys: "time_for_preparation", "ingredients", "difficulty"

我怎样写一个mysql查询,返回我的单行3个meta_keys?

如果我做一个内部联接我只看到3台的“布丁”,各自具有相同wp_posts数据和一个不同meta_key

我想是的pudding一个单行meta_keys数组

可以这样做吗?

+0

你需要输出这样的布丁“time_for_preparation,配料,看病难” – rahularyansharma

+0

你需要meta_keys逗号在一列 – rahularyansharma

+0

逗号分隔的将是一件好事seprated,但理想的我需要与meta_key“称号”拿着meta_value列“值” ......就像如果一切都在wp_posts表中单列 – Igor

回答

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服务器

做了改变成你这个可以看到这个帖子里面有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 
+0

它更像是这样的: \t 创建表wp_post ( ID INT标识(1,1), 名称为nvarchar(200) ) 创建表wp_meta ( ID INT标识(1,1), INT帖子ID, metakey为nvarchar(200) metaname为nvarchar(200) ) 插入件插入wp_post选择 '苹果' 插入件插入wp_meta选择1, '颜色',”红” 插入wp_meta选择1,‘品牌’,‘蒙特’ INSERT INTO wp_meta选择1,‘重量’,‘1盎司’ 我要返回一组像 名数据=苹果,颜色=红色,品牌=德尔蒙特,重量= 1盎司 感谢您的帮助! – Igor

+0

你这个在MySQL SELECT w.name得到什么, GROUP_CONCAT(m.meta_key, '') FROM wp_postW¯¯ JOIN wp_meta M于m.post_id = w.id GROUP BY w.name – rahularyansharma

相关问题