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 28036 게시물 읽기
No. 28036
몇칠째 삽질중 좀 도와주세요 고수님들 ㅜㅜ
작성자
박강수(hanker)
작성일
2006-09-25 14:21
조회수
1,481

안녕하세요 
쿼리가 약한지라 몇칠째 버벅 거리고 있습니다 ㅜㅜ
화면은 ->
현장코드 | 현장명 | 준공 예정일 | 계정 | 재고금액
--------------------------------------------
 a12345  | 롯데     | 2006.09.01 | 원재료|          0 
 a12345  | 롯데     | 2006.09.01 | 가설재|   23434 
 a12345  | 롯데     | 2006.09.01 | 저장품|     3433 
 a12345  | 롯데     | 2006.09.01 | 소계   |   34324 
--------------------------------------------
대충 화면은 이렇 거든요 밑에서 타이틀은 계정까지이구요
입고와 출고가 있구요 
cd  <- 는 계정을 불러오는거구요
acctcd2,acctcd1  < - 이거는 재고금액을 가저오는거거든요  
여기서  sitecd 별 계정을 구분하여 입금액과,출금액 이값을
을 따로 더하여 입금액 - 출금액이 나오는 쿼리를 만들고 
싶습니다 ㅡㅜ 우째 잘안돼네요~

-타이틀
select a.sitecd,a.sitenm,a.cmplplandtc,b.cdnm from cy00001t a,crcodegt b
where a.cmplplandtc like '200605%'
and b.cd in('M12414310101','M12414410100','M12414450169');


--입고
select sum(VCHAMT) as VCHAMT1, sitecd from cma0312t
where acctcd1 in('M12414310101','M12414410100','M12414450169')
and vchline <> '000'
and vchdtc >='19960101'
and vchcls <>'M0915'
and vchcls like 'M2091%'
and vchdtc < '200605%'
group by sitecd


--출고
select sum(vchamt) as VCHAMT2,sitecd
from cma0312t
where acctcd2 in('M12414310101','M12414410100','M12414450169')
and vchcls like 'M2092%'
and vchdtc < '200605%'
and vchdtc >='19960101'
and vchcls <>'M0925'
group by sitecd

이 글에 대한 댓글이 총 3건 있습니다.
select a.sitecd,a.sitenm,a.cmplplandtc,b.cdnm ,c.vchamt1 as 입고,c.sitecd from cy00001t a,
(select cdnm from crcodegt where cd in('M12414310101','M12414410100','M12414450169'))  b,
(
 select VCHAMT as vchamt1,sitecd from cma0312t
 where acctcd1 in('M12414310101','M12414410100','M12414450169')
 and vchline <> '000'
 and vchdtc >='19960101'
 and vchcls <>'M0915'
 and vchcls like 'M2091%'
 and vchdtc < '200605%'
 group by vchamt,sitecd
) c
where a.cmplplandtc like '200605%'
and a.sitecd = c.sitecd
group by a.sitecd,a.sitenm,a.cmplplandtc,b.cdnm,c.vchamt1,c.sitecd

입고 금액은 대충 이렇게 해서 나오는것같은데 ... 
쿼리를 한큐에 끝낼려니까~ 잘안돼네요 ㅜㅜ
박강수(hanker)님이 2006-09-25 14:22에 작성한 댓글입니다.

작성자의 Query에서 거의 답이 나오는 것으로 보이네요

select a.sitecd,a.sitenm,a.cmplplandtc,b.cdnm, 
          case when c.vchamt1 is null then d.vchamt1
          else c.vchamt2 end "재고금액"
from   cy00001t a,crcodegt b, 
         (select sum(VCHAMT) as VCHAMT1, sitecd from cma0312t
           where acctcd1 in('M12414310101','M12414410100','M12414450169')
              and vchline <> '000'
              and vchdtc >='19960101'
              and vchcls <>'M0915'
              and vchcls like 'M2091%'
              and vchdtc < '200605%'
           group by sitecd) c,
         (select sum(vchamt) as VCHAMT2,sitecd
            from cma0312t
          where acctcd2 in('M12414310101','M12414410100','M12414450169')
              and vchcls like 'M2092%'
              and vchdtc < '200605%'
              and vchdtc >='19960101'
              and vchcls <>'M0925'
              group by sitecd) d
 where a.sitecd = b.sitecd
 and    a.sitecd = c.sitecd(+)
 and    a.sitecd = d.sitecd(+)

뭐 대충 이런 식으로 하면 되지 않을까요 ?
DB가 없어서 머리로만 짜서...ㅎㅎㅎ

simon님이 2006-09-25 14:39에 작성한 댓글입니다. Edit

감솨해요..^^ 많은 도움 되었습니다!!

박강수(hanker)님이 2006-09-26 08:33에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
28041alert로그에 기록된 에러입니다. [1]
박기환
2006-09-25
1316
28038windows 2003 server(32bit) + 9.2.0.1 패치파일을 구합니다. [2]
김경호
2006-09-25
1467
28037테이블 전부 드랍할수 있는 방법좀... [4]
정진성
2006-09-25
2764
28036몇칠째 삽질중 좀 도와주세요 고수님들 ㅜㅜ [3]
박강수
2006-09-25
1481
28035업무별 과부하찾기
김상욱
2006-09-25
1064
28034date_format 변경 [5]
장성욱
2006-09-25
6713
28033조인에서..
펭귄도사
2006-09-25
1031
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.042초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다