select a.aa1,b.aa2,c.aa3
from ( select aa1
from data
where a = '01'
and b = '02'
and c = '03'
) a,
( select aa2
from data
where a = '01'
and b = 여기는 위 a 쿼리에서 변수로 받아서 처리
and c = '03'
) b,
( select aa3
from data
where a = '01'
and b = 여기는 위 b 쿼리에서 변수로 받아서 처리
and c = '03'
) c
-- 결론적으로 b쿼리문에서는 a쿼리문의 값을 받고 c쿼리에서는 a,b쿼리의 결과값을 받아서 처리하기를 원합니다.
그렇다고 b 조건의 쿼리 에서 a쿼리 전부를 붙여다쓰자니 비전문방식인거 같아요.
마농님 해결좀 부탁드립니다..
------------------------------------------------------------------------
마농님 구체적으로 말씀드릴게요..
select a.aa1,b.aa2,c.aa3
from ( select aa,bb
from data
where a = '01'
and b = '02'
and c = '03'
) a,
( select aa,bb
from data
where a = '01'
and b = (select aa
from data
where a = '01'
and b = '02'
and c = '03') -->위 쿼리에서 a 의 쿼리문을 모두 적용
and c = '03'
) b,
( select aa,bb
from data
where a = '01'
and b = (select aa
from data
where a = '01'
and b = (select aa
from data
where a = '01'
and b = '02'
and c = '03')
and c = '03' ) -> 위쿼리의 a와 b를 적용한 쿼리를 모두 적용
and c = '03'
) c
요렇게 구현을 해도 되지만 형식적으로 잘못된 쿼리문이라 생각이 들어서요..
결론은 a쿼리를 조회해서 결과값을 b쿼리의 조건으로 넣고 b쿼리의 결과값을 c쿼리에 넣는 방식입니다.
좀더 효율적인 쿼리가 어떻게 될지 궁금합니다..
마농님 도와주세요..
|