php - sql查询结果合并的问题
高洛峰
高洛峰 2017-04-17 16:52:29
0
3
1006
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
迷茫

从所提供的信息看,如果只是为了单纯输出文章ID,及对应的属性10086和属性12580的值,那么下面这个简单的SQL就能实现

SELECT
  art.id,
  meta1.meta_value AS meta_key10086,
  meta2.meta_value AS meta_key12580
FROM wp_posts AS art
  LEFT JOIN wp_postmeta AS meta1
    ON meta1.post_id = art.id AND meta1.meta_key = '10086'
  LEFT JOIN wp_postmeta AS meta2
    ON meta2.post_id = art.id AND meta2.meta_key = '12580'
巴扎黑

你要的是不是 GROUP_CONCAT 这个聚合函数?

PHPzhong

试试用full join行不。未测试:

with
  m1 as (select * from meta where meta_key = '10086'),
  m2 as (select * from meta where meta_key = '12580')

select case m1.post_id 
  when null then m2.post_id else m1.post_id end as post_id,
  m1.meta_value as meta_key_10086,
  m2.meta_value as meta_key_12580
from m1 full join m2
  on m1.post_id = m2.post_id and
     m1.meta_key='10086' and
     m2.meta_key='12580'
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!