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 40308 게시물 읽기
No. 40308
쿼리문의 조건문이 너무 지저분한것 같은데 봐주세요 ㅜㅜ
작성자
쌈창(ssamchang)
작성일
2013-11-11 12:45
조회수
6,079

안녕하세요 개발을 한지 얼마 안되는 초보 인데요...

다른분이 기존에 있던 쿼리를 주로 사용해서 사이트를 개발중인데요...

쿼리를 거의 해보지를 안아서 그런지 힘듭니다 ㅜㅜ

전에는 인덱스? 그런개념없이 했다가 실제 적용했을때 조회 시간이 엄청걸려서 수정했던적도있고요 흑,....

 

 

테이블이 AA, BB, CC  3가지가 있고요

AA에는 AUTH_NO,  STAT  있고요

BB에는 SEQ_NO,  AUTH_NO,  STRT_DATE, END_DATE, QTY

CC에는 SEQ_NO, QTY 이렇게 있습니다.

 

AA와 BB는  AUTH_NO로, BB와 CC는  SEQ_NO로 연결되 있는데 CC는 없을 수 도 있고요

AA의 STAT가 01,02,03,04 이렇게 있는데 

          STAT가 04일 경우랑 

                        03이면서 ( BB의 END_DATE 가 SYSDATE보다 작거나 CC의 QTY(없으면BB의 QTY) 가 0인경우)

이렇게 조건을 주고싶은데요

 

SELECT *

FROM AA A

           , BB B

           , CC C

WHERE A.AUTH_NO = B.AUTH_NO

   AND B.SEQ_NO = C.SEQ_NO(+)

   AND ( A. STAT = '04'

               OR ( A.STAT = '03'

                         AND ( BB.END_DATE < TO_CHAR(SYSDATE,'YYYYMMDD')

                                     OR ( NVL(CC.QTY, BB.QTY) == 0 )

                                   )

                     )

           )

요런 식인데.. 제가 쿼리문을 잘 해보질 안아서 먼가 어수선하고 그냥 자바 코딩을 한것 같다는 생각도 들고요..

 

보통 이런경우 조건문을 어떻게 써주시나요..... 

 

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

 

SQL은 개인별로 작성하는 방법이 다르니 특별한 Format 은 없다고 생각됩니다.

다르게 보이는 부분만 노랑색 표기 합니다.

SELECT *

FROM AA A

           , BB B

           , CC C

WHERE A.AUTH_NO = B.AUTH_NO

   AND B.SEQ_NO = C.SEQ_NO(+)

   AND ( A. STAT = '04'

               OR ( A.STAT = '03'

                         AND ( BB.END_DATE < SYSDATE

                                     OR ( NVL(CC.QTY(+), BB.QTY) = 0 )

                                   )

                     )

 

tohappy(tohappy)님이 2013-11-11 17:40에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40311make 문제 발생?
하이에나
2013-11-12
6207
40310Proc make 중 오류
하이에나
2013-11-12
6147
40309sql 실행 계획 [1]
예언자
2013-11-11
6328
40308쿼리문의 조건문이 너무 지저분한것 같은데 봐주세요 ㅜㅜ [1]
쌈창
2013-11-11
6079
40307이런것도 쿼리로 가능할까요? ㅠㅠ [2]
햇살한조각
2013-11-08
6536
40306UUID 생성 [1]
구박덩어리
2013-11-08
7473
40305도로명 주소 관련 인덱스 생성 [1]
곽동엽
2013-11-08
10939
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다