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

拥有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學習者快速成長!