쿼리를 대충 써보면
SELECT *
FROM (
SELECT B.CLOUM
FROM (
SELECT CLOUM FROM TABLE WHERE A = 'AAA'
) A, TABLE B
WHERE A.CLOUM = B.CLOUM2
AND A.XX = 'DEF'
) A_1,
(
SELECT B.CLOUM
FROM (
SELECT CLOUM FROM TABLE WHERE A = 'AAA'
) A, TABLE B
WHERE A.CLOUM = B.CLOUM2
AND A.XX = 'ABC'
) B_1
이 쿼리문에서 문제는 저기 있는 테이블은 한테이블에서 계속 값을 가져 오는것이고,
써브 A_1과 B_1에서 가져오는 값은 서로 맴핑이 안됩니다....
그래서 rownumber() over() << 를 쓸려구 했는데.. 이게 또 버전이 낮아서 안먹습니다.
A_1 써브에서 최대 2개 B_1에서 최대 2개의 값이 나올경우에 대하여 현재 저상태로 쿼리를
날릴경우 값이 2개씩 일때
A_1 테이블
------------------
A___
B___
B_1 테이블
------------------
C___
D___
최종 결과
a 컬럼 b컬럼
-------------------------
A___ C___
A___ D___
B___ C___
B___ D___
원하는 결과값은 위의 결과 값이 아니고.
a 컬럼 b컬럼
-------------------------
A___ C___
B___ D___
A컬럼 과 B컬럼의 해당값은 위아래는 상관이 없고 무조건 한개씩만 나오면 상관이 없습니다.
위의 결과 처럼 나오도록 A_1 서브 쿼리와 B_1 서브쿼리에 맴핑시킬 값이 필요한데.. 각 서브쿼리에
ROWNUMBER를 넣을수 잇는 방안좀 알려주시면 감사하겠습니다.
아 처음에 FULL OUTER JOIN을 사용해서 해볼려고 했었으나 FULL OUTER JOIN이 안먹힌다는..
고수님 부탁좀 드리겠습니다.
|