2011-10-17 4 views
0

, 사용자 정의 포스트가 wp_posts 테이블에서 개최하고, 자신의 ID는 다음과 같은 열이 다른 테이블 wp_meta에서 참조 post_id, meta_key, meta_valueMySQL의 - 워드 프레스 : 하나 개 이상의 메타 데이터 값 목록 정의 게시물 워드 프레스에서

이의 내가 있다고 가정 해 봅시다 조리법은 wp_posts에서 pudding을 불러 wp_meta에서 나는 meta_keys: "time_for_preparation", "ingredients", "difficulty"

3는 어떻게 3 meta_keys와 나에게 하나의 행을 반환하는 MySQL의 쿼리를 작성하려면 어떻게해야합니까 있나요? 나는 내부를 할 경우

난 그냥

는 내가 원하는 것은 meta_keys의 배열 pudding의 단일 행입니다 같은 wp_posts 데이터 "푸딩"3 개 세트, 각각 ONE 다른 meta_key를 볼 수 있습니다 가입

할 수 있습니까?

+0

이 푸딩 "time_for_preparation, 성분, 어려움" – rahularyansharma

+0

같은 출력을 필요로하면 하나 개의 컬럼 좋은 것 분리 – rahularyansharma

+0

쉼표 seprated 쉼표 meta_keys을해야합니까,하지만 이상적으로 나는 "값을 meta_key"제목 "는 meta_value을 들고 열을 필요로 모든 단일 행 – 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 

이 모두 내가 해달라고으로

을 편집 MySQL의 how-do-i-create-a-comma-separated-list-using-a-sql-query

에 대한이이 게시물을 볼 수 있습니다 당신이 점을 변경하기위한 MS SQL 서버

날에 이루어집니다 mysql하지만 나는 당신이 제안한 URL을 사용하여 이것을 변환하려고했는데, 이것은 아래처럼 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

에 wp_posts 테이블에 있다면 ... "같은 그것은이 같은 더 : \t 테이블 ( 아이디 INT 신원 (1,1), 이름 NVARCHAR (200) ) 을 wp_post 만들 테이블 만들기 wp_meta ( 아이디 INT 신원 (1,1), postid의 INT, metakey의 NVARCHAR (200) metaname의 NVARCHAR (200) ) wp_post에 삽입 1을 선택 wp_meta에 '애플' 삽입을 선택, '색상', ' 빨간색 '1을 선택 wp_meta에 삽입,'브랜드 ','델 몬테 무게 ','1온스 ' '에 삽입 1을 선택 wp_meta '내가 = 애플 이름과 같은 데이터 세트를 반환하려면, 색상 = 빨간색, 브랜드 = 델 몬테, 무게 = 1oz 도움 주셔서 감사합니다! – Igor

+0

당신이 MySQL을 선택 w.name이가 무엇을 얻을, GROUP_CONCAT (m.meta_key, ',') 이 w.name에 의해 m.post_id = w.id GROUP ON wp_meta m에 가입 승 wp_post FROM – rahularyansharma