doudao6529
2017-08-19 21:46 阅读 44
已采纳

使用mysql在2 meta_key中创建

Assums table mysql from wordpress like this:

post_id | meta_key     | meta_value
19      | poster_url   | http://exampleimage.com
19      | vote_average | 7.5

i've tried using

 SELECT * FROM (Select ID,post_date,post_date_gmt,post_content,post_title,post_status,post_name,post_type,meta_key,meta_value as picture from get_movies where meta_key='poster_url' and post_status='publish' and post_type='post') as a,
(Select meta_value as rate from get_movies where meta_key='vote_average' and post_status='publish' and post_type='post') as b

but result has duplicated and miss for 'rate' .. in this case , i just need for make alias each other.. like poster_url = picture, and vote_average = rate

it's possible?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    douzheng9221 douzheng9221 2017-08-19 21:58

    For some reason, I think this may be what you want:

    Select ID, post_date, post_date_gmt, post_content, post_title,
           post_status, post_name, post_type,
           max(case when meta_key = 'poster_url' then meta_value end) as picture,
           max(case when meta_key = 'vote_average' then meta_value end) as rating
    from get_movies
    where post_status = 'publish' and post_type = 'post' and
          meta_key in ('poster_url', 'vote_average') 
    group by ID, post_date, post_date_gmt, post_content, post_title,
             post_status, post_name, post_type;
    

    It returns the meta key values in two different columns.

    点赞 评论 复制链接分享

相关推荐