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 39031 게시물 읽기
No. 39031
월별 생산량 찍는 쿼리인데 ora -00936 에러가 뜨네요 ㅠㅠ
작성자
박광일
작성일
2011-11-01 21:08
조회수
4,550

 SELECT a.ITEMCOD, b.ITEMNAM, a.CUSTCOD, a.LOSSGUB, b.thsyear, b.yearqty,
 SUM(DECODE(b.THSyear,'1',  b.yearqty, 0)) QTY1, 
 SUM(DECODE(b.THSyear,'2',  b.yearqty, 0)) QTY2,
 SUM(DECODE(b.THSyear,'3',  b.yearqty, 0)) QTY3,
 SUM(DECODE(b.THSyear,'4',  b.yearqty, 0)) QTY4,
 SUM(DECODE(b.THSyear,'5',  b.yearqty, 0)) QTY5,
 SUM(DECODE(b.THSyear,'6',  b.yearqty, 0)) QTY6,
 SUM(DECODE(b.THSyear,'7',  b.yearqty, 0)) QTY7,
 SUM(DECODE(b.THSyear,'8',  b.yearqty, 0)) QTY8,
 SUM(DECODE(b.THSyear,'9',  b.yearqty, 0)) QTY9,
 SUM(DECODE(b.THSyear,'10',  b.yearqty, 0)) QTY10,
 SUM(DECODE(b.THSyear,'11',  b.yearqty, 0)) QTY11,
 SUM(DECODE(b.THSyear,'12',  b.yearqty, 0)) QTY12,
 FROM P3041T a, B1080T b
 where a.coporat = b.coporat
 GROUP  BY a.ITEMCOD, b.ITEMNAM, a.CUSTCOD, a.LOSSGUB
 ORDER  BY a.thsyear asc

이게 제가 짜본 쿼리인데 계속 missing keyword 하면서 안되네요 ㅠ

general sql error ora-00936 이러면서,, ㅠㅠ 뭐가 뭔지.. 쿼리 분석좀 부탁드립니다~

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

SUM(DECODE(b.THSyear,'12',  b.yearqty, 0)) QTY12,
마지막에 쉼표 빼야되요

이동호(ssamldh)님이 2011-11-01 22:26에 작성한 댓글입니다.

SELECT a.itemcod
     , b.itemnam
     , a.custcod
     , a.lossgub
--   , b.thsyear   -- 삭제. Group By 항목만 Select절에 올 수 있음
--   , b.yearqty   -- 삭제.
Group By 이외의 항목은 그룹함수와 함께 사용.
--     Decode의 0을 빼고 Sum한 후 나중에 Nvl 하는 것이 효율적임
     , NVL(SUM(DECODE(b.thsyear,  '1', b.yearqty)), 0) qty01
     , NVL(SUM(DECODE(b.thsyear,  '2', b.yearqty)), 0) qty02
     , NVL(SUM(DECODE(b.thsyear,  '3', b.yearqty)), 0) qty03
     , NVL(SUM(DECODE(b.thsyear,  '4', b.yearqty)), 0) qty04
     , NVL(SUM(DECODE(b.thsyear,  '5', b.yearqty)), 0) qty05
     , NVL(SUM(DECODE(b.thsyear,  '6', b.yearqty)), 0) qty06
     , NVL(SUM(DECODE(b.thsyear,  '7', b.yearqty)), 0) qty07
     , NVL(SUM(DECODE(b.thsyear,  '8', b.yearqty)), 0) qty08
     , NVL(SUM(DECODE(b.thsyear,  '9', b.yearqty)), 0) qty09
     , NVL(SUM(DECODE(b.thsyear, '10', b.yearqty)), 0) qty10
     , NVL(SUM(DECODE(b.thsyear, '11', b.yearqty)), 0) qty11
     , NVL(SUM(DECODE(b.thsyear, '12', b.yearqty)), 0) qty12
  FROM p3041t a
     , b1080t b
 WHERE a.coporat = b.coporat
 GROUP BY a.itemcod, b.itemnam, a.custcod, a.lossgub
-- ORDER BY a.thsyear ASC -- 삭제. 말도 안되는 구문임
 ORDER BY a.itemcod, b.itemnam, a.custcod, a.lossgub
;

마농(manon94)님이 2011-11-02 00:18에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39034최대 보유수량 구하기? 쿼리도움부탁드려여 [5]
이종성
2011-11-02
4787
39033두칼럼사이의 값을 여려줄로 출력할떄.. 조언부탁드립니다. [1]
이경율
2011-11-02
4221
39032그룹함수 여러번 쓸때..
홍의명
2011-11-02
3794
39031월별 생산량 찍는 쿼리인데 ora -00936 에러가 뜨네요 ㅠㅠ [2]
박광일
2011-11-01
4550
39030분기관련 [1]
박영훈
2011-11-01
4729
39029쿼리에서 같은 속성을 갖는것에 대해서 일련번호 매기는 쿼리 [3]
김인수
2011-11-01
5042
39028구분자관련 [1]
박진서
2011-11-01
4619
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다