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
운영게시판
최근게시물
Informix Q&A 2568 게시물 읽기
No. 2568
쿼리좀 부탁드립니다.
작성자
마찌마라(j3man)
작성일
2009-02-26 14:30
조회수
7,570

informox는 처음이라 당황스럽네요...


아래와 같은 쿼리를 인포믹스에서 돌렸더니 에러가 나던데 인포믹스에선 어떻게 수정해야 할까요..


SELECT MAX (CNT2000) AS CNT2000,

       MAX (CNT2001) AS CNT2001,

    MAX (CNT2002) AS CNT2002,

    MAX (CNT2003) AS CNT2003,

    MAX (CNT2004) AS CNT2004,

    MAX (CNT2005) AS CNT2005,

    MAX (CNT2006) AS CNT2006,

    MAX (CNT2007) AS CNT2007,

    MAX (CNT2008) AS CNT2008,

    MAX (CNT2009) AS CNT2009

  FROM (

SELECT COUNT(CASE WHEN SRCH_PUBYEAR='2000' THEN 1 END) AS CNT2000,

    COUNT(CASE WHEN SRCH_PUBYEAR='2001' THEN 1 END) AS CNT2001,

    COUNT(CASE WHEN SRCH_PUBYEAR='2002' THEN 1 END) AS CNT2002,

    COUNT(CASE WHEN SRCH_PUBYEAR='2003' THEN 1 END) AS CNT2003,

    COUNT(CASE WHEN SRCH_PUBYEAR='2004' THEN 1 END) AS CNT2004,

    COUNT(CASE WHEN SRCH_PUBYEAR='2005' THEN 1 END) AS CNT2005,

    COUNT(CASE WHEN SRCH_PUBYEAR='2006' THEN 1 END) AS CNT2006,

    COUNT(CASE WHEN SRCH_PUBYEAR='2007' THEN 1 END) AS CNT2007,

    COUNT(CASE WHEN SRCH_PUBYEAR='2008' THEN 1 END) AS CNT2008,

    COUNT(CASE WHEN SRCH_PUBYEAR='2009' THEN 1 END) AS CNT2009

FROM    DT_SVC_ITEM SVC, DT_COLLECTION COLL

WHERE   SVC.COLL_ID = COLL.COLL_ID AND COLL.PUBLIC_TYPE ='1'

 AND    SRCH_PUBYEAR IN ('2000', '2001', '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009')

 AND   EXISTS (SELECT 1 FROM DT_SVC_ITEM_SOMS SOMS WHERE SVC.ITEM_ID=SOMS.ITEM_ID AND SOMS.ELEMENT_ID='034' AND SOMS.CONTENT='Dissertation')

GROUP BY SRCH_PUBYEAR)

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

인포믹스에서는 from 절에 select문을 넣지 못하는걸로 알고 있습니다.

그부분을 해결해야 할꺼 같습니다.

하도 예전에 써본거라서.... 정확히 고쳐드리지는 못하겠네요. ㅜㅜ

생각나면 다시 리플달아드릴게요.


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


COUNT(CASE WHEN SRCH_PUBYEAR='2000' THEN 1 END)

이런 문장대신에 max(select count(*) from DT_SVC_ITEM SVC, DT_COLLECTION COLL 

  where SRCH_PUBYEAR = '2000' ) 이런식으로 컬럼을 직접 count해서 하나의 row단위로 보이도록해야 할거 같습니다.

지나다님이 2009-03-12 16:39에 작성한 댓글입니다.
이 댓글은 2009-03-12 16:44에 마지막으로 수정되었습니다. Edit


오라클의 inline view와 같이 informix 11점대 부터는 from 절 이후에 select 구문을 사용하실수 있습니다.
셀모님이 2009-03-13 09:11에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
2573한글이 깨지네요..ㅠ_ㅠ 도와주세요.. [1]
이상현
2009-03-31
8116
2570서버 기동 에러 입니다. 고수님들의 답변 부탁드려요.
공상두
2009-03-11
6952
2569KIUG(Korea Informix Users Group) 사이트가 새롭게 OPEN 했습니다.
이상엽
2009-03-11
6991
2568쿼리좀 부탁드립니다. [2]
마찌마라
2009-02-26
7570
2567on duplicate key update
권명철
2009-02-12
7023
2566oninit -v 실행시 Out of memory loading message 71578.
김중훈
2009-02-11
7535
2565Dbaccess가 먼가요? [1]
장문영
2009-01-21
8327
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다