2013-06-13 3 views
1

첫 번째 쿼리에없는 두 번째 쿼리가 있으면 행을 찾으려고합니다. 그러나 나는 '당신은 오른쪽 조인과 가까운 SQL 구문에 오류가 있습니다.'오류가 발생합니다.MySQL 쿼리 결과 합계

(SELECT t1.id AS id, t2.id, t3.id 
FROM table1 t1 
INNER JOIN table2 t2 ON t2.id = t1.id 
INNER JOIN table3 t3 ON t3.id = t2.id 
) a 
RIGHT JOIN 
(SELECT id 
FROM table4 
WHERE col1 IS NOT NULL AND col2 IN (1, 2)) b 
ON a.id = b.id 

이 쿼리에서 나는 뭘 잘못 했습니까? 고맙습니다.

+1

맨 위에 'SELECT * FROM'을 (를) 추가 할 수 있습니다. –

답변

1

조인 조회에서 모든 컬럼을 첫 번째 선택.에 넣어야합니다. 쿼리의 두 번째 select 문이 잘못되었습니다.

SELECT 
    t1.id as id, t2.id, t3.id, b.id 
FROM 
    (table1 t1 
inner join table2 t2 on t2.id=t1.id 
inner join table3 t3 on t3.id=t2.id) 
right join table4 b on t1.id = b.id 
WHERE b.col1 IS NOT NULL AND b.col2 IN (1, 2))