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

DOOLLY 2016.02.11 08:23 Views : 2229

계약기간 밖의 비용들을 계약기간 첫달, 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 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 2192
9170 태스크의 스크립트 생성을 SQL문이나 에이전트로 실행할 수 없을까요? [1] sincie 2016.02.15 2194
9169 정수 올림에 관해 질문입니다. [3] leesoek 2016.02.11 2540
9168 쿼리에서 특정시간을 기점으로 결과값을 다르게 받는게 가능할까요? [4] 고구망 2016.02.11 2390
9167 조회조건이 포함된 선입선출 형태 질문~ [3] 정민채 2016.02.11 2561
» group by 를 할때.. case 로... [2] DOOLLY 2016.02.11 2229
9165 오라클 쿼리가 안되요 ㅠㅠ [1] 올해는2016 2016.02.09 2703
9164 SQL Server Agent가 구동이 안되서 크라우저2세 2016.02.08 2391
9163 MSSQL 2014 버전 DB를 2008 마이그레이션 방법 [2] 마찡가 2016.02.05 2604
9162 날짜가 같은 필드에 특정 카테고리 번호를 순서대로 붙이는 쿼리 질문좀 드립니다. [3] 다자녀아빠 2016.02.04 2354
9161 데이터 50건뽑기...조건이 좀 애매합니다..ㅠㅠ [9] SQL왕왕초보 2016.02.04 2619
9160 Oracle 쿼리 문의사항 [4] 손원일 2016.02.04 2847
9159 닷넷 윈도우 프로그램 개발 시 db 보안 [2] 청소하자 2016.02.04 2482
9158 SQL 서버 운용관련 질문 [2] HSQL 2016.02.04 2201
9157 다른이름 DB 로 시점 복구(STOPAT) 문의 드립니다. [2] 구로동라이더 2016.02.04 3902
9156 서버이전후 백업시간 증가 [3] 류종근 2016.02.04 2663
9155 날짜검색 쿼리 문의드려요 [2] Sisylian 2016.02.03 2895
9154 join 문을 처음 해보는데 잘안됩니다.. [3] 슈토파이터 2016.02.03 2269
9153 데이타에서 IN 사용하기..? [6] 문상연 2016.02.02 2285
9152 JOIN할 테이블을 SELECT문으로 설정할 순 없을까요 [7] sincie 2016.02.02 2597
9151 트랜잭션 로그 용량 오류 문의 [7] 솔총이 2016.02.01 3293





XE Login