본문 바로가기

오답노트

1179. Reformat Department Table

Write an SQL query to reformat the table such that there is a department id column and a revenue column for each month.

Return the result table in any order.

The query result format is in the following example.

 

SELECT ID
     , SUM(CASE WHEN Month = 'Jan' THEN revenue ELSE NULL END) As Jan_Revenue
     , SUM(CASE WHEN Month = 'Feb' THEN revenue else null END) As Feb_Revenue
     , SUM(CASE WHEN Month = 'Mar' THEN revenue else null END) As Mar_Revenue
     , SUM(CASE WHEN Month = 'Apr' THEN revenue else null END) As Apr_Revenue
     , SUM(CASE WHEN Month = 'May' THEN revenue else null END) As May_Revenue
     , SUM(CASE WHEN Month = 'Jun' THEN revenue else null END) As Jun_Revenue
     , SUM(CASE WHEN Month = 'Jul' THEN revenue else null END) As Jul_Revenue
     , SUM(CASE WHEN Month = 'Aug' THEN revenue else null END) As Aug_Revenue
     , SUM(CASE WHEN Month = 'Sep' THEN revenue else null END) As Sep_Revenue
     , SUM(CASE WHEN Month = 'Oct' THEN revenue else null END) As Oct_Revenue
     , SUM(CASE WHEN Month = 'Nov' THEN revenue else null END) As Nov_Revenue
     , SUM(CASE WHEN Month = 'Dec' THEN revenue else null END) As Dec_Revenue
FROM DEPARTMENT
GROUP BY ID;