group by 를 할때.. case 로...

DOOLLY 2016.02.11 08:23 Views : 2259

계약기간 밖의 비용들을 계약기간 첫달, or 마지막달에 넣어서 월별 금액이 나오게 쿼리를 하고 싶은데요.


계약테이블
계약기간
2015-05-012016-04-30
비용테이블결과
2015-0415000002015-052000000
2015-055000002015-06500000
2015-065000002015-071500000
2015-0715000002015-08500000
2015-085000002015-09500000
2015-095000002015-10500000
2015-105000002015-11500000
2015-115000002015-12500000
2015-125000002016-01500000
2016-015000002016-02500000
2016-025000002016-03500000
2016-035000002016-046500000
2016-04500000
2016-052500000
2016-063500000


어떻게 해야 할까요?


이런 데이터가 계약건 별로 쭉 있어서... 특정월의 총 비용등을 뽑으려고 합니다.


 group by 를 할때... 계약기간 이전 비용은 계약 첫달... 계약기간 이후 비용은 계약 마지막 달에.....


 비용을 select 를 할때... 비용 테이블의 월을 계약기간 이후의 것은 계약 달로 select 해서 뽑아서 group by를 하거나...


어떻게 하면 될꺼 같긴 한데.. 잘 안되네요..




Select cType, B.so_code, sum(convert(money, money)) as cost,  ma_date = ( CASE   When sContractDate > ma_date then left(sContractDate,7)
   WHEN eContractDate < ma_date then left(eContractDate,7)
 Else ma_date
 end )

from
( Select cType, so_code, ma_p_code, sContractDate, eContractDate from view_so_detail where use_yn = 1 ) A inner join
( Select so_code, ma_p_code, ma_date, money  from MaMcDetail where use_yn = 1 ) B
on A.so_code = B.so_code and A.ma_p_code = B.ma_p_code
 
group by cType, B.so_code,

CASE   When sContractDate > ma_date then left(sContractDate,7)
   WHEN eContractDate < ma_date then left(eContractDate,7)
 Else ma_date
 end


이렇게 처리하긴 했는데... 이렇게 하면 될지... 확신이 안서서...


 














No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 38132
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 20674
9183 연결된 서버(Linked Server) 속도 문제 문의드립니다. [6] 디비로 2016.02.18 6647
9182 주기적인 cpu100% 현상 [4] yb 2016.02.18 3087
9181 같은조건인데 프로시저를 실행하면 한쪽은 되고 한쪽은 실행이 안됩니다. [3] 뱅만도리 2016.02.18 2158
9180 mysql replication [1] 니크네이므 2016.02.18 1713
9179 업데이트 오류에 이어서 .... [4] 큘러 2016.02.17 2245
9178 서버역할을 sysadmin으로 하지 않으면 db가 보이지 않습니다 [1] 조굴 2016.02.17 2037
9177 업데이트 문의 [18] 큘러 2016.02.16 2341
9176 group by 를 하고 싶은데요. [3] DOOLLY 2016.02.16 2224
9175 재귀쿼리를 통해 트리구조를 가져올수있게 하는 쿼리를 작성하였는데 시간이 느립니다. 뽀구 2016.02.16 2467
9174 [질문] 오라클 start with ~ connect by 쿼리문입니다. [1] 매발톱 2016.02.16 2690
9173 case when 질문입니다. [2] 큘러 2016.02.16 2361
9172 쿼리문의 방자 2016.02.16 1958
9171 날짜를 기준으로 사전과 사후 나누기... [2] DOOLLY 2016.02.15 2201
9170 태스크의 스크립트 생성을 SQL문이나 에이전트로 실행할 수 없을까요? [1] sincie 2016.02.15 2210
9169 정수 올림에 관해 질문입니다. [3] leesoek 2016.02.11 2635
9168 쿼리에서 특정시간을 기점으로 결과값을 다르게 받는게 가능할까요? [4] 고구망 2016.02.11 2415
9167 조회조건이 포함된 선입선출 형태 질문~ [3] 정민채 2016.02.11 2596
» group by 를 할때.. case 로... [2] DOOLLY 2016.02.11 2259
9165 오라클 쿼리가 안되요 ㅠㅠ [1] 올해는2016 2016.02.09 2804
9164 SQL Server Agent가 구동이 안되서 크라우저2세 2016.02.08 2432





XE Login