2011-10-17 56 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

相關問題