database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 1833 게시물 읽기
No. 1833
오라클로 된 sql를 ms/sql로 전환 하는데 도움 부탁합니다.
작성자
수경
작성일
2005-03-21 17:03ⓒ
2005-03-23 17:56ⓜ
조회수
3,285

<오라클>

select a.*,
(select count(*) from TB_BAPND_FILE
where COM_ID = a.COM_ID and BD_ID = a.BD_ID and SEQ = a.SEQ ) FILE_CNT
from
(select a.COM_ID, BD_ID, SEQ, a.EMP_NO, TITLE
,to_char(a.WRITEDATE,'yyyy-mm-dd hh24:mi') WRITEDATE
,a.HIT, a.BD_KIND
,a.TOP_SEQ, a.REF_LEVEL, a.REF_INDEX
,b.EMP_NAME, sysdate - a.WRITEDATE term_day
,count(*) over( order by a.TOP_SEQ DESC ,a.REF_INDEX) r
from TB_BBOARD a, TB_PEMP_MAST b
WHERE a.EMP_NO = b.EMP_NO
) a
where r between 1 and 5

 

인 오라클로 작성된 sql문 입니다.

중간 부분 날자의 차이 부분 "sysdate - a.WRITEDATE" 작성과

정렬한 순서대로 count를 부여하는 부분 인

"count(*) over( order by a.TOP_SEQ DESC ,a.REF_INDEX)"

MS/SQL로 전환해야 하는데 도움이 필요하여 글을 올립니다.

아시는 분. 부탁합니다.

이 글에 대한 댓글이 총 1건 있습니다.

DATEDIFF ( datepart , startdate , enddate )

날짜차이를 구하는 건 위의 함수를 사용하면 될 것이고..

 

오라클에서 사용하는 analytic function은

비효율적이긴 하지만 대부분 일반 SQL로 전환이 가능합니다.

 

select a.COM_ID, BD_ID, SEQ, a.EMP_NO
from TB_BBOARD a,
     TB_BBOARD b
where (a.TOP_SEQ < b.TOP_SEQ) /* TOP_SEQ DESC 역할 */
or (a.TOP_SEQ = b.TOP_SEQ and a.REF_INDEX >= b.REF_INDEX )

/* REF_INDEX ASC 역할 */
group by a.COM_ID, BD_ID, SEQ, a.EMP_NO
having count(*) between 1 and 5

 

TB_BBOARD 를 두번 읽어서

count(*) over( order by a.TOP_SEQ DESC ,a.REF_INDEX) 를

표현한 것입니다.

 

원래 문장과 이것을 결합하면 될 거 같습니다.

mur님이 2005-03-22 11:34에 작성한 댓글입니다.
이 댓글은 2005-03-22 11:35에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1836테이블 레벨로 대소문자 구별을 줄수 있나요??? [1]
이석규
2005-03-22
2921
1835oracle --> mssql로 데이터 가져오기 실행시 [2]
이석규
2005-03-22
3873
1834mssql -> 오라클 마이그레이션 결과... [1]
오라클
2005-03-22
2573
1833오라클로 된 sql를 ms/sql로 전환 하는데 도움 부탁합니다. [1]
수경
2005-03-21
3285
1832ms-sql 디비서버 내리고 올리는 방법 좀 알려주세요 [1]
ms초보
2005-03-21
2504
1831SP 누적 수량 구하는 sql 문 쫌 도와주세요??? [3]
달파란
2005-03-21
4519
1830업체 웹서버를 관리하는데 서버에서 사용하는 디비가 어떤건지 알아볼수 있나요?
처버
2005-03-19
1962
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다