안녕하세요.
이번에 하는 일이 오라클에서 개발한 소스를 그대로 ms-sql2000에 포팅을 해야합니다.
저가 오라클만 공부를 해서 ms-sql에는 전혀 몰라서 이렇게 글을 올립니다.
오라클에서는 아래와 같은 함수를 지원을 합니다. 그룹별로 몇개가 있는지 파악하는 것입니다.
그런데 ms-sql에서 이와 같은 함수를 대처할 수 있는 함수가 있나요?
아래 sql의 dual 테이블은 테스트 용으로 해 놓은 것입니다.
SELECT code, mcode , COUNT(*) OVER (PARTITION BY code) AS rowspan FROM
( select '코드1' code, '모르' mcode from dual union all select '코드1' code, '야느' mcode from dual union all select '코드3' code, '아지' mcode from dual union all select '코드8' code, '양크' mcode from dual union all select '코드8' code, '양므' mcode from dual union all select '코드8' code, '인디' mcode from dual
)
결과는
코드1 모르 2
코드1 야느 2
코드3 아지 1
코드8 양크 3
코드8 양므 3
코드8 인디 3
이렇게 결과가 나올수 있는 ms-sql 함수 좀 알려 주세요.
없다면 아래와 같은 sql은 사용이 가능한가요.. mssql에서요.
꼭 답변 좀 부탁합니다.
SELECT code, mcode , (select count(*) from ( select '코드1' code, '모르' mcode from dual union all select '코드1' code, '야느' mcode from dual union all select '코드3' code, '아지' mcode from dual union all select '코드8' code, '양크' mcode from dual union all select '코드8' code, '양므' mcode from dual union all select '코드8' code, '인디' mcode from dual ) where code = a.code ) rowspan FROM ( select '코드1' code, '모르' mcode from dual union all select '코드1' code, '야느' mcode from dual union all select '코드3' code, '아지' mcode from dual union all select '코드8' code, '양크' mcode from dual union all select '코드8' code, '양므' mcode from dual union all select '코드8' code, '인디' mcode from dual ) a
|