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 40896 게시물 읽기
No. 40896
이 쿼리 뭐가 문제인 걸루 보이세요?
작성자
황춘호(gtook)
작성일
2015-08-17 16:34
조회수
8,315

SELECT ta.*, rownum 
FROM ( 
 SELECT A.CSEQ, A.PHOTO, A.GMENU, A.MENUCODE, A.REGSEQ, A.TITLE, A.SUMMARY, D.SEQ 
 FROM (SELECT * FROM A_CONT_SERV 
 WHERE SITE='MS' AND CORP = '$SITE_CORPCODE' AND GGMENU IN ($_IN_GGMENU) AND USEYN='Y') A, 

(SELECT * FROM 
( SELECT SEQ,SMENU,TITLE,ROW_NUMBER() OVER (ORDER BY BRODATE DESC),REGSEQ FROM M_THEMA_CONT WHERE CORPCODE='17' 
) B 

RIGHT OUTER JOIN 
(SELECT MAX(REGDT),SEQ FROM M_THEMA 
WHERE CORPCODE='17' 
AND REGDT = (SELECT MAX(REGDT) FROM M_THEMA WHERE CORPCODE='17' 
GROUP BY SEQ) C 
ON B.SEQ=C.SEQ 
AND ROWNUM >=0 AND ROWNUM <=1 
) D 

실행시키면 D.SEQ를 찾을 수 없다고 나옵니다. 현재 제가 하려는건 B테이블과 D테이블을 조인하려고 하는데 맞지 않나요?

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

 여러군데가 잘못되었는데요...

일단 닫는 괄호가 빠져있습니다.

"CORPCODE='17' GROUP BY SEQ) C"

이 부분의  C 앞에 닫는 괄호 필요하구요...

 

설사 그것이 있어도 실행하면 group by  오류가 날 것입니다.

왜냐면 "SELECT MAX(REGDT),SEQ" 이부분에 SEQ가 있어서 반드시 SEQ로 group by가 되어야 합니다.

그리고 이걸 넣어도 오류가 날 가능성이 많습니다.

그 이유는 seq 가 여러 값이면 too many rows 오류가 날 것입니다.

그 이유는 "regdt=(select ...." 이부분에서 스칼라 서브쿼리가 다중행을 리턴할 가능성이 있기 때문입니다.

그런데 이 모든 것을 고쳐도 원하는 결과가 나올지는 모르겠습니다.

원하는 바를 적으시면 검토가 더 나을 것 같습니다.

 

왜냐면 "row_number() over ...." 이 부분 같은 경우 사용되지 않는데도...적혀 있거든요....

그래서 이 쿼리가 정확히 어떤 결과를 원하는 것인지를 알 수가 없네요....

김흥수(protokhs)님이 2015-08-17 17:07에 작성한 댓글입니다.
이 댓글은 2015-08-17 17:08에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
40899SUBSTR 질문입니다. [2]
이현정
2015-08-19
7666
40898구분자를 통한 데이터 분리관련 질문~! 도와주세요 [2]
천하제일
2015-08-19
7999
40897세로날짜를 가로로하고싶어요 [1]
김영주
2015-08-18
8224
40896이 쿼리 뭐가 문제인 걸루 보이세요? [1]
황춘호
2015-08-17
8315
40895다이나믹 쿼리 바인드 변수 [2]
나그네
2015-08-17
8657
40894IS NULL 관련 문의입니다. [1]
이현정
2015-08-13
7819
40893'트리거에 기본값' 이라고 혹시 아시는분 계시나요?
질문
2015-08-13
7863
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다