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
운영게시판
최근게시물
Oracle Q&A 40929 게시물 읽기
No. 40929
요즘 질문이 많네요. SQL 문의입니다.
작성자
이현정
작성일
2015-09-08 09:29ⓒ
2015-09-08 09:34ⓜ
조회수
7,978

FROM WK_BOM T1

DB_WK T2

WHERE T1.ID = T2.ID

AND T1.REV = T2.REV

AND T1.NO ='S1234'

AND T1.KND ='FOSET'

AND NOT EXISTS (SELECT 1

FROM WK_BOM

WHERE ID = T1.ID

AND REV > T1.REV);

------------------------------------------------------

 

FROM (

SELECT * FROM (

SELECT BOM.*,

ROW_NUMBER() OVER(PARTITION BY ID ORDER BY ID,REV DESC ) RN

FROM WK_BOM BOM

WHERE NO='S1234'

AND KND = 'FOSET')

)

WHERE RN=1

) T1,

DB_WK T2

WHERE T1.ID = T2.ID

AND T1.REV = T2.REV ;

 

 

 

PK : ID, REV

 

마농님의 자료를 보다가 위처럼

고쳐 봤는데...데이터 일부분이 다르게 나오네요. ^^

 

제가 잘못한게 어디죠 ^^;

 

 

 

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

메인대상(T1)와 비교대상(Exists / RN)로 구분지어서 볼 때
검색 조건 (no = 'S1234' AND knd = 'FOSET') 이
 - Exists 쿼리의 경우엔 메인대상에만 있고 비교대상에는 없는데
 - Row_number 쿼리의 경우엔 비교대상에도 해당 조건이 있는 거죠.

마농(manon94)님이 2015-09-08 14:43에 작성한 댓글입니다.

FROM (

 

SELECT * FROM (

 

SELECT BOM.*,

 

ROW_NUMBER() OVER(PARTITION BY ID ORDER BY ID,REV DESC ) RN

 

FROM WK_BOM BOM

 

WHERE NO='S1234'

 

)

 

)

 

WHERE RN=1

AND KND = 'FOSET'

) T1,

 

DB_WK T2

 

WHERE T1.ID = T2.ID

 

AND T1.REV = T2.REV ;

 

이렇게 하니 같아지네요. 뭐때문인지는 좀더 고민해봐야 겠어요. 감사합니다.

 

이현정님이 2015-09-08 16:10에 작성한 댓글입니다. Edit

두개 조건을 모두 빼지 않고 하나만 뺀것은 좋은 시도네요.
하나는 매인과 서브의 공통조건이고 하나는 개별조건이 되는 거죠.
어느 것이 맞는지는? 업무의 요구사항을 분석하셔야 하구요.
 - 1. 최종 결과중 조건에 맞는 건?
 - 2. 조건에 맞는 건중 최종 건?
이 두가지는 서로 다른 요구사항이지요.

마농(manon94)님이 2015-09-08 17:38에 작성한 댓글입니다.

감사합니다. ^^

이현정님이 2015-09-14 11:22에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
40932union all로 테이블 별로 cnt 항목을 [1]
김인철
2015-09-11
8100
40931SELECT 정렬? 질문드려요 [2]
대국적쿼리
2015-09-10
7697
40930한 행에 DATA 이어붙이기 [1]
초보
2015-09-10
8045
40929요즘 질문이 많네요. SQL 문의입니다. [4]
이현정
2015-09-08
7978
40928디비 생성에 대해 자세히 알려주세요.. [1]
박현수
2015-09-07
7402
40927두개의 리스너를 구성을 하려고 하는데, 잘 안됩니다.. [1]
박현수
2015-09-07
7817
40926ctas 결과문의 입니다. [2]
이현정
2015-09-07
7512
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다