셀렉문 질문 0 2 1,021

by 정재교오라클 [2015.04.17 16:11:20]


 안녕하세요 초보라서 모르는게너무많네요 ㅠ

SELECT SHIP_REG_DD,SHIP_SEQ,ITEM_CODE,SUM(WGT)
                      FROM    JGPL2
                      WHERE (SHIP_REG_DD,SHIP_SEQ) IN(SELECT SHIP_REG_DD,SHIP_SEQ FROM JGPL3)
                      GROUP BY SHIP_REG_DD,SHIP_SEQ,ITEM_CODE
                     

20140101 22 L01 26971--해당일 ,순번 ,아이템 코드 ,중량
20140101 22 M01 1622
20140101 27 M01 1602
20140101 27 M03 26263
20140102 10 L01 25625
20140102 10 M01 2881
20140102 18 M01 23875
20140102 18 M03 1748

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

셀렉 결과가 이렇게있는데요

조건문으로 같은 해당일 순번에 아이템 코드가 K01 M01 있을때란 조건문을줄수있는 방법이있을까요

이셀렉문이 20140101부터 20141231까지의 판매된것들중 K01만판매됫을경우 M01만 판매됫을경우 M03만  판매됫을경우 K01과 M01이 판매됫을경우 K01과 M03이판매됫을경우 M01과M03이 판매됫을경우 전체세가지가 판매됫을경우의

중량을 구하는 셀렉문입니다 ...ㅠㅠ위의 코드는 두가지일경우를 셀렉할경우를 생각하면서진행중인셀렉문이구요 ㅠㅠ

 SELECT *
                        FROM JGPL2
                      
                          
                    SELECT ITEM_CODE, SUM(WGT)   --하나 짜리 구하기
                        FROM   JGPL2
                        WHERE (SHIP_REG_DD,SHIP_SEQ) IN (
                                                      SELECT SHIP_REG_DD,SHIP_SEQ
                                                        FROM JGPL1
                                                      GROUP BY SHIP_REG_DD,SHIP_SEQ
                                                       HAVING COUNT(*) = 3
                                                      )
                         AND  ITEM_CODE = 'M03'
                         GROUP BY ITEM_CODE

 

             SELECT sum(count), sum(wgt)--3개짜리
                        FROM   JGP1
                        WHERE (SHIP_REG_DD,SHIP_SEQ) IN (
                                                      SELECT SHIP_REG_DD,SHIP_SEQ
                                                        FROM JGP1
                                                      GROUP BY SHIP_REG_DD,SHIP_SEQ
                                                       HAVING COUNT(*) = 3
                                                      )
                                                     

 

 

by 마농 [2015.04.20 08:34:10]
SELECT ship_reg_dd, ship_seq
     , SUM(wgt) wgt
  FROM (SELECT ship_reg_dd, ship_seq, item_code
             , SUM(wgt) wgt
             , COUNT(DISTINCT item_code) cnt
          FROM jgpl2
         WHERE ship_reg_dd LIKE '2014'||'%'
           AND item_code IN ('K01', 'M01', 'M03')
         GROUP BY ship_reg_dd, ship_seq, item_code
        )
 WHERE cnt = 1 AND item_code = 'K01'
-- WHERE cnt = 1 AND item_code = 'M01'
-- WHERE cnt = 1 AND item_code = 'M03'
-- WHERE cnt = 2 AND item_code IN ('K01', 'M01')
-- WHERE cnt = 2 AND item_code IN ('K01', 'M03')
-- WHERE cnt = 2 AND item_code IN ('M01', 'M03')
-- WHERE cnt = 3
 GROUP BY ship_reg_dd, ship_seq
;

 


by 정재교오라클 [2015.04.20 11:42:44]

답변감사합니다

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입