데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
select id, SUM(cash)
from abc
where DATE >= '2013-01-01' AND DATE < '2013-02-01'
group by id
어떤 테이블에서 월별로 아이디, 금액을 보여주려고 합니다.
1월 2월 3월 이런식으로 보여주고 싶은데
위의 쿼리에서 날짜부분만 바꿔서 여러번 실행시키면 월별로는 나오는데
case문을 이용하서 한쿼리에 1, 2 , 3 이런식으로 월별로 보여줄 수 있을까요. (union은 말구요~)
Comment 1
-
쓸만한게없네(윤선식)
2013.05.03 15:37
select id,
ISNULL(SUM(CASE WHEN MONTH(DATE) = 1 THEN cash ELSE 0 END ),0) AS MON1,
ISNULL(SUM(CASE WHEN MONTH(DATE) = 2 THEN cash ELSE 0 END ),0) AS MON2,
...
from abc
where DATE >= '2013-01-01' AND DATE < '2013-02-01'
group by id
요렇게 하시거나, PIVOT 검색해서 이용하실 수 있습니다.