문제
다음과 같은 결과 세트가 있습니다.
유형 | 방법 | 양
유형 1 현금 금액
타입 1 확인 금액
타입 2 현금 금액
타입 2 확인 금액
타입 3 현금 금액
타입 3 확인 금액
그리고 나는 그것을 다음처럼 보이게 만들고 싶습니다.
유형 | 현금 | 확인하다
유형 1 금액
타입 2 금액
타입 3 금액
T-SQL (2005 Syntax OK)에서 어떻게이를 달성 할 수 있습니까? 유형 (1, 2, 3 ...)별로 피벗해야합니다.
해결책
피벗 시도는 다음과 같습니다.
select *
from YourTable
PIVOT (sum(amount) FOR Method in (Cash,Check)) as Y
두 개의 열만이라는 점을 감안할 때 조인으로 시도 할 수 있습니다.
select
type
, cash = a.amount
, check = b.amount
from yourtable a
full join yourtable b on a.type = b.type
where a.method = 'cash' or b.method = 'Check'
다른 팁
또는 더 나은 것 :
select
Type
, Cash = sum(case when Method = 'Cash' then Amount end)
, Check = sum(case when Method = 'Check' then Amount end)
from yourtable
group by
Type
적절한 경우 CASE 문에 다른 0을 추가하십시오.
이 양식은 피벗 연산자보다 유연하며 전체 조인이 필요하지 않습니다. 단지 직선 집계.
제휴하지 않습니다 StackOverflow