데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

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

DOOLLY 2016.02.11 08:23 Views : 2206

계약기간 밖의 비용들을 계약기간 첫달, 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
9171 날짜를 기준으로 사전과 사후 나누기... [2] DOOLLY 2016.02.15 2141
9170 태스크의 스크립트 생성을 SQL문이나 에이전트로 실행할 수 없을까요? [1] sincie 2016.02.15 2169
9169 정수 올림에 관해 질문입니다. [3] leesoek 2016.02.11 2449
9168 쿼리에서 특정시간을 기점으로 결과값을 다르게 받는게 가능할까요? [4] 고구망 2016.02.11 2370
9167 조회조건이 포함된 선입선출 형태 질문~ [3] 정민채 2016.02.11 2538
» group by 를 할때.. case 로... [2] DOOLLY 2016.02.11 2206
9165 오라클 쿼리가 안되요 ㅠㅠ [1] 올해는2016 2016.02.09 2602
9164 SQL Server Agent가 구동이 안되서 크라우저2세 2016.02.08 2369
9163 MSSQL 2014 버전 DB를 2008 마이그레이션 방법 [2] 마찡가 2016.02.05 2577
9162 날짜가 같은 필드에 특정 카테고리 번호를 순서대로 붙이는 쿼리 질문좀 드립니다. [3] 다자녀아빠 2016.02.04 2327
9161 데이터 50건뽑기...조건이 좀 애매합니다..ㅠㅠ [9] SQL왕왕초보 2016.02.04 2599
9160 Oracle 쿼리 문의사항 [4] 손원일 2016.02.04 2820
9159 닷넷 윈도우 프로그램 개발 시 db 보안 [2] 청소하자 2016.02.04 2388
9158 SQL 서버 운용관련 질문 [2] HSQL 2016.02.04 2174
9157 다른이름 DB 로 시점 복구(STOPAT) 문의 드립니다. [2] 구로동라이더 2016.02.04 3849
9156 서버이전후 백업시간 증가 [3] 류종근 2016.02.04 2616
9155 날짜검색 쿼리 문의드려요 [2] Sisylian 2016.02.03 2871
9154 join 문을 처음 해보는데 잘안됩니다.. [3] 슈토파이터 2016.02.03 2249
9153 데이타에서 IN 사용하기..? [6] 문상연 2016.02.02 2266
9152 JOIN할 테이블을 SELECT문으로 설정할 순 없을까요 [7] sincie 2016.02.02 2573





XE Login