안녕하세요. 아래 문제가 풀리지 않습니다. 현재 A 테이블에 ID1, ID2 컬럼이 존재하고 111, 222 가 존재 하면 222, 111 데이터가 다른 행에 무조건 존재 합니다. PK는 (ID1, ID2) 입니다.
변경전
111
222
222
111
333
444
444
333
555
666
666
555
변경후
111
222
1
222
111
1
333
444
2
444
333
2
555
666
3
666
555
3
by 마농
[2011.07.12 15:11:58]
WITH t AS
(
SELECT 111 id1, 222 id2 FROM dual
UNION ALL SELECT 222, 111 FROM dual
UNION ALL SELECT 333, 444 FROM dual
UNION ALL SELECT 444, 333 FROM dual
UNION ALL SELECT 555, 666 FROM dual
UNION ALL SELECT 666, 555 FROM dual
)
SELECT id1, id2
, DENSE_RANK() OVER(ORDER BY LEAST(id1, id2), GREATEST(id1, id2)) dr
FROM t
;