2016-10-14 2 views
1

에서 두 값을 연결 I는 다음과 같이 두 테이블을 가지고있다.SQLite는 다른 행

는 지금은 속성 "위도"와 "LNG"가 모든 레코드를 선택하고 결과에 공간 위도 "와"LNG "을 가입하려는

이 내 현재 쿼리입니다

SELECT p.id, m1.value || " " || m2.value FROM places p 
    JOIN meta m1 ON m1.place = p.id 
    JOIN meta m2 ON m2.place = p.id 
     WHERE p.type IN ("1") 
     AND m1.key = "lat" 
     AND m2.key = "lng"; 

작동이 나타납니다.하지만이 정말 맞습니까? 나는 그것이 하나의 조인을 사용 할 수 있습니까?

+3

귀하의 질문은 괜찮습니다. 나는 문자열 상수에 대해 작은 따옴표를 사용 하겠지만 SQLite는 양쪽 모두를 허용합니다. –

답변

0

따옴표, 당신의 JOIN 유형을 지정하고 당신의 상태는 그래서 오히려 =를 사용 p.type에서 하나의 결과를 찾고 있습니다 IN보다.

SELECT p.id, m1.value || ' ' || m2.value 
FROM places p 
INNER JOIN meta m1 ON m1.place = p.id 
INNER JOIN meta m2 ON m2.place = p.id 
WHERE p.type = '1' 
AND m1.key = 'lat' 
AND m2.key = 'lng';