2011-12-02 3 views
0

방법아래와 같이 결과를 얻기 위해 쿼리를 설정하는 방법은 무엇입니까?

meta_id terms_id meta_key meta_value 
6926  16   phone  0000 

meta_id terms_id meta_key meta_value 
6927 16   location xxx 

지금 내가 결과를 원하는대로 내 쿼리

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_value  meta_value1 
6926  16  0000   xxx 

로 도와주세요 감사합니다

+0

하나의 검색어로 2 개의 행을 가져 오는 방법은 무엇입니까? –

답변

0
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'] . "' 
+0

, 그 훌륭한 감사 인사 – Sparkx

0

아마도 이와 같습니다.

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 
관련 문제