데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
Ttype의 값에 따라 Sum(Tamt)을 +/- 로 표시하고 싶습니다.
현재 Pcode 조건에 따라 Tamt의 Sum값을 구하고 있는데,
Ttype이 'A'일 경우에는 Sum(Tamt)
Ttype이 'B'라면 -Sum(Tamt)와 같이 - 값으로 표시하고 싶습니다.
쿼리를 어떻게 수정해야 하는지요?
Select Ttype
, Saledt, Snum, Seqnum
, Sum(Case When Pcode = '1' Then Tamt Else 0 End)
, Sum(Case When Pcode = '2' Then Tamt Else 0 End)
, Sum(Case When Pcode = '3' Then Tamt Else 0 End)
, Sum(Case When Pcode = '4' Then Tamt Else 0 End)
From Asales
Where Ttype in ('A','B')
and Saledt between '20200117' and '20200127'
Group by Ttype, Saledt, Snum, Seqnum
Comment 1
-
안돼요
2020.06.10 17:51
Select Ttype, Saledt, Snum, Seqnum, Sum(Case When Pcode = '1' Then Tamt Else 0 End) * CASE Ttype WHEN 'A' THEN 1 ELSE -1 END, Sum(Case When Pcode = '2' Then Tamt Else 0 End) * CASE Ttype WHEN 'A' THEN 1 ELSE -1 END, Sum(Case When Pcode = '3' Then Tamt Else 0 End) * CASE Ttype WHEN 'A' THEN 1 ELSE -1 END, Sum(Case When Pcode = '4' Then Tamt Else 0 End) * CASE Ttype WHEN 'A' THEN 1 ELSE -1 ENDFrom AsalesWhere Ttype in ('A','B')and Saledt between '20200117' and '20200127'Group by Ttype, Saledt, Snum, Seqnum