【问题标题】:how to set the query to get the result as below?如何设置查询以获得如下结果?
【发布时间】:2012-01-11 07:22:09
【问题描述】:

如何获取两列两行的结果 我的查询是-

select tt.* from wp_terms AS tt where tt.terms_id='" . $establishment['term_id'] . "' AND tt.meta_key ='phone';
select tt.* from wp_terms AS tt where tt.terms_id='" . $establishment['term_id'] . "' AND tt.meta_key ='location';

每个查询都给我结果

meta_id terms_id    meta_key    meta_value
6926     16         phone      0000 

meta_id terms_id    meta_key    meta_value
6927    16          location    xxx

现在我想要结果为

meta_id terms_id    meta_value      meta_value1
6926     16        0000          xxx

请帮忙 谢谢

【问题讨论】:

  • 您是在问我们如何用一个查询获取 2 行吗?

标签: php mysql sql


【解决方案1】:

大概是这样的。

select phone.meta_id, phone.terms_id, phone.meta_value as phone, location.meta_value as location
from
(select tt.* from wp_terms AS tt where tt.terms_id='" . $establishment['term_id'] . "' AND tt.meta_key ='phone') phone,
(select tt.* from wp_terms AS tt where tt.terms_id='" . $establishment['term_id'] . "' AND tt.meta_key ='location') location 
where phone.meta_id = location.meta_id

【讨论】:

    【解决方案2】:
    SELECT t.meta_id, t.terms_id, t.meta_value, tt.metaValue AS meta_value1
    FROM wp_terms AS t
    INNER JOIN wp_terms AS tt ON t.terms_id = tt.terms_id
       AND t.meta_key = 'phone'
       AND tt.meta_key = 'location'
    WHERE t.terms_id='" . $establishment['term_id'] . "'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-16
      • 1970-01-01
      • 2016-11-26
      • 2022-01-13
      • 1970-01-01
      • 2017-03-04
      • 1970-01-01
      • 2020-11-19
      相关资源
      最近更新 更多