sql 질문드립니다.. 0 3 1,336

by 신재경 [2009.06.15 09:50:05]


안녕하세요..늘 많은 도움만 받고 있는 1人입니다.. ^^;;

오늘도 질문 하나 드립니다.. 늘 질문만 올려서 죄송.. (_ _)

  table_1

No 상품명 금액 용도
1 A 10 A_판매용
2 B 7 B_회계용
3 A 11 A_회계용
4 C 12 C_회계용
5 C 15 C_판매용
6 D 90 D_판매용
7 E 12 E_회계용
8 F 35 F_판매용
9 F 30 F_회계용

결과값

No 상품명 금액 용도
1 A 10 A_판매용
2 B 7 B_회계용
5 C 15 C_판매용
6 D 90 D_판매용
7 E 12 E_회계용
8 F 35 F_판매용

 

위와같은 table_1 에서 아래같은 결과값을 얻으려 합니다..

내용을 말씀드리자면..

table_1에는 각 상품별로 용도가 '판매용','회계용' 으로 존재합니다.. 다만, A,F 상품과 같이 '판매용'과 '회계용' 둘 다 존재 할 수도 있고, B,E와 같이 '회계용'만 존재하는 경우, 또 D처럼 '판매용'만 존재하는 경우도 있습니다. 그리고, 데이터는 어떤 조건으로도 정렬되어 있지 않은 상태입니다.

위와같은 상황에서 상품별로 용도가 '판매용','회계용' 둘 다 존재할 경우나 '판매용'만 존재할 경우에는 '판매용'의 데이터를, '회계용'만 존재할 경우에는 '회계용'의 데이터를 보여주고자 합니다..

 

어떻게 하면 원하는 결과값을 얻을 수 있을까요?? (ㅜㅜ)

by 웅 [2009.06.15 09:58:20]
분석함수 row_number로 조회하시면 비슷한 타입이 많이 나올듯합니다.
select No, 상품명, 금액, 용도
from (
select No, 상품명, 금액, 용도
, row_number() over (partition by 상품명 order by no) rn
where table_1)
where rn = 1

by 마농 [2009.06.15 10:15:08]
웅님 답글의 정렬기준을 no 에서 용도로 바꾸시면 되겠네요.

by 신재경 [2009.06.15 10:24:07]
와우~ 웅님, 마농님 감사합니다..ㅎㅎ
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입