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 40603 게시물 읽기
No. 40603
쿼리좀 봐주세요...ㅜㅜ
작성자
초보자
작성일
2014-11-05 12:35ⓒ
2014-11-05 14:11ⓜ
조회수
7,716

select a.aa1,b.aa2,c.aa3

from ( select aa1

from data

where a = '01'

and b = '02'

and c = '03'

) a,

( select aa2

from data

where a = '01'

and b = 여기는 위 a 쿼리에서 변수로 받아서 처리

and c = '03'

) b,

( select aa3

from data

where a = '01'

and b = 여기는 위 b 쿼리에서 변수로 받아서 처리

and c = '03'

) c

 

-- 결론적으로 b쿼리문에서는 a쿼리문의 값을 받고 c쿼리에서는 a,b쿼리의 결과값을 받아서 처리하기를 원합니다.

 

그렇다고 b 조건의 쿼리 에서 a쿼리 전부를 붙여다쓰자니 비전문방식인거 같아요.

 

마농님 해결좀 부탁드립니다..

 

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

 

마농님 구체적으로 말씀드릴게요..

 

select a.aa1,b.aa2,c.aa3

from ( select aa,bb

from data

where a = '01'

and b = '02'

and c = '03'

) a,

( select aa,bb

from data

where a = '01'

and b = (select aa

from data

where a = '01'

and b = '02'

and c = '03') -->위 쿼리에서 a 의 쿼리문을 모두 적용

 

and c = '03'

) b,

( select aa,bb

from data

where a = '01'

and b = (select aa

from data

where a = '01'

and b = (select aa

from data

where a = '01'

and b = '02'

and c = '03')

 

and c = '03' ) -> 위쿼리의 a와 b를 적용한 쿼리를 모두 적용

 

and c = '03'

) c

 

요렇게 구현을 해도 되지만 형식적으로 잘못된 쿼리문이라 생각이 들어서요..

결론은 a쿼리를 조회해서 결과값을 b쿼리의 조건으로 넣고 b쿼리의 결과값을 c쿼리에 넣는 방식입니다.

좀더 효율적인 쿼리가 어떻게 될지 궁금합니다..

마농님 도와주세요..

 

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

질문이 너무 추상화 되어 있네요.
from 절엔 모두 data 로 동일한데요?
동일 테이블을 3번 따로 읽는 것 맞나요?
조건항목 또한 a, b, c 로 동일한것 맞나요?
a로부터 변수로 받는다는게 어떤 의미인지?
어떤 컴럼을 받는다는 것인지?
추상적 말고 구체적으로 질문해 주세요.
그리고, 질문에서 특정인을 지목하지 말아 주세요.

마농(manon94)님이 2014-11-05 13:37에 작성한 댓글입니다.
이 댓글은 2014-11-05 13:37에 마지막으로 수정되었습니다.

마농님 본문 수정해서 구체적으로 설명을 달았습니다.

도와주세요..

초보자님이 2014-11-05 14:11에 작성한 댓글입니다. Edit

SELECT a.aa AS aa_a
     , b.aa AS aa_b
     , c.aa AS aa_c
  FROM data a
     , data b
     , data c
 WHERE a.a = '01'
   AND a.b = '02'
   AND a.c = '03'
   AND b.a = a.a
   AND b.b = a.aa
   AND b.c = a.c
   AND c.a = b.a
   AND c.b = b.aa
   AND c.c = b.c
;

마농(manon94)님이 2014-11-05 14:50에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40609쿼리 질문입니다. [3]
db 사랑
2014-11-13
7048
40608ORA-01805 error in date/time operation [1]
이돈휘
2014-11-10
8606
40604ora-00904 ERROR [1]
최동복
2014-11-06
12313
40603쿼리좀 봐주세요...ㅜㅜ [3]
초보자
2014-11-05
7716
40602쿼리 속도가 너무느려서 질문드립니다. [2]
최창식
2014-11-05
7899
40601약간 꼬인 계층형 쿼리?? [1]
ㅇㅇㅇ
2014-11-04
7564
40600재부팅후 tns 리스너가 없다고 나옵니다.
성준
2014-11-04
8011
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다