델파이 프로그래밍 중에 오라클 쿼리실력이 모자라서.. 허허허
이렇게 질문올립니다.
아래와 같이 F1과 F2라는 필드를 가진 AAA이라는 테이블이 있습니다.
테이블 : AAA
F1 F2
A 1
A 2
B 1
B 2
B 3
C 1
오라클이구요! 8i 버전입니다.
어떻게 쿼리를 하면..
결과가 아래와 같이 나올수 있을까요??
구분 1~2 3~4
A 2
B 2 1
C 1
그런데… 오라클 8i는 MS-SQL처럼 CASE 문을 못쓰는 것 같더라구요!
어떻게 하면 될까요???
표가 삐뚤어 졌어도 이해해 주시리라 믿습니다.
FROM TEMP_TABLE
WHERE BBB < '3'
GROUP BY AAA ) A,
( SELECT AAA, NVL(COUNT(BBB), '' ) CCC
FROM TEMP_TABLE
WHERE BBB >= '3'
GROUP BY AAA ) B
WHERE A.AAA = B.AAA (+)
그리고 case 와 같은 기능을 가진게 있습니다 decode
decode( 'aaa', '', '0', 'bb' );
aaa 가 '' 이면 0 으로 치환하고 아니면 bb로 해라.....
if aaa = '' then 0 else bb.. 이러면 쉽게 알수있을겁니다.
참고로 오라클에서도 case 먹습니다.
ms-sql 과 문법도 같구요!!
case when aaa = '1' then 'A'
else 'B' end as CCC
즐프...