퇴근5분전


간만에 쿼리 쓸라니 기억이 안나서 어렵군...

갑자기 피벗 쓸일이 있었는데... 가물 가물한 기억땜시롱...

간단한 예제로 써놓는답.

SELECT y, sum( case c when 'A' then i else 0 end ) AS AColumn ,sum( case A.c when 'B' then i else 0 end ) AS BColumn
FROM
(
 SELECT '200812' AS Y , 'A' AS C, '1' AS I
 UNION
 SELECT '200812', 'B', '2'
 )a
group by A.y


결과
Y           AColumn  BColumn
200812    1             2



Sum이 기억이 안나서 무진장 헤맸뉑...

CTE는 왜이리 어렵누..


추가 ~~~  : 반대로 할경우!!!


SELECT A.A, CASE B.[K]  WHEN 1 THEN A.[1]
      WHEN 2 THEN A.[2]
      WHEN 3 THEN A.[3]
      WHEN 4 THEN A.[4]
      WHEN 5 THEN A.[5] END AS M
FROM
(
 SELECT 'A' [A], 1 [1], 2 [2],3 [3],4 [4],5 [5]
)A
,
(
SELECT 1 K
UNION ALL
SELECT 2 K
UNION ALL
SELECT 3 K
UNION ALL
SELECT 4 K
UNION ALL
SELECT 5 K
)B