을 하나의 피벗으로 시도 대신 사용 할 수도있는 하나의 방법입니다 PIVOT과 테이블 값 생성자를 사용하는 간단한 방법은 다음과 같습니다
,
CREATE TABLE myTable
([C1] varchar(1), [C2] int, [C3] int)
;
INSERT INTO myTable
([C1], [C2], [C3])
VALUES
('A', 10, 1000),
('B', 20, 1000),
('C', 30, 1500)
;
SELECT [A],[B],[C]
FROM (
SELECT ca.*
FROM myTable mt
CROSS APPLY (VALUES(mt.C1, 1, mt.C2),(mt.C1, 2, mt.C3)) ca(col, rn, val)
) t
PIVOT (
MAX(val)
FOR col IN ([A],[B],[C])
) p
교차 열마다 새로운 행을 생성한다 적용 (C2, C3)는 col
PIVOT 결합되지 않도록 (A는 B, C) rn
이 값을 구분 단지 ROWNUMBER 값 인 C1 값인 그들과 그냥 MAX를 선택하고 val
그냥 C2와 C3 값입니다
https://blogs.msdn.microsoft.com/kenobonn/2009/03/22/pivot-on-two-or-more-fields- in-SQL-server / –