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'
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'
从所提供的信息看,如果只是为了单纯输出文章ID,及对应的属性10086和属性12580的值,那么下面这个简单的SQL就能实现
你要的是不是
GROUP_CONCAT
这个聚合函数?试试用
full join
行不。未测试: