문제

다음과 같은 결과 세트가 있습니다.

유형 | 방법 | 양

유형 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을 추가하십시오.

이 양식은 피벗 연산자보다 유연하며 전체 조인이 필요하지 않습니다. 단지 직선 집계.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top