我有这样的查询:
select
a.user_id,
max(IF(a.meta_key = 'address',a.meta_value, NULL)) AS Address,
max(IF(a.meta_key = 'mobile', a.meta_value, NULL)) AS mobile,
max(IF(a.meta_key = 'topics', a.meta_value, NULL)) AS topics,
b.user_email,
b.user_login,
b.display_name
from wp_ntusermeta a
inner join wp_ntusers b ON a.user_id = b.ID
where a.user_id in (select user_id from wp_ntusermeta
where meta_value like '%editor%')
group by a.user_id
工作正常,我有这样的结果
user_id | Address | mobile | topics | user_email | user_login | display_name
1 | chennai | 999... | 4 | xx@domain.com | xxx | xxxyyy
我还有另一个名为wp_nttopics
的表格,列数为topic_id, topic_name
。使用此表与现有查询的连接,使用topics_id
从结果中替换topic_name
。
预期结果:
user_id | Address | mobile | topics | user_email | user_login | display_name
1 | chennai | 999.... | **topic_name** | xx@domain.com | xxx | xxxyyy
答案 0 :(得分:0)
将您的整个查询加入主题表:
select user_id, address, mobile,
topic_name as topics,
user_email, user_login, display_name
from (select a.user_id,
max(IF(a.meta_key = 'address',a.meta_value, NULL)) AS Address,
max(IF(a.meta_key = 'mobile', a.meta_value, NULL)) AS mobile,
max(IF(a.meta_key = 'topics', a.meta_value, NULL)) AS topic_id,
b.user_email,
b.user_login,
b.display_name
from wp_ntusermeta a
inner join wp_ntusers b ON a.user_id = b.ID
where a.user_id in (select user_id from wp_ntusermeta
where meta_value like '%editor%')
group by a.user_id) data
join wp_nttopics t on t.topic_id = data.topic_id