0

So I have this table:

Year | MonthInterval | RainfallIndex
2016 | Jan-Feb       | 1.03
2016 | Feb-Mar       | 0.23
2016 | Mar-Apr       | 2.30

What query can I apply to transform the table into this:

Year | Jan-Feb | Feb-Mar | Mar-Apr 
2016 | 1.03    | 0.23    | 2.30 
Bill Karwin
  • 538,548
  • 86
  • 673
  • 828

1 Answers1

1

You can use a case statement:

   CREATE TABLE rainfall_pivot AS
  SELECT
    Year,
    sum(CASE WHEN MONTH(MonthInterval) = 'Jan-Feb'
      THEN RainfallIndex
        ELSE 0 END) AS "Jan-Feb",
    sum(CASE WHEN MONTH(MonthInterval) = 'Feb-Mar'
      THEN RainfallIndex
        ELSE 0 END) AS "Feb-Mar",
    sum(CASE WHEN MONTH(MonthInterval) = 'Mar-Apr'
      THEN RainfallIndex
        ELSE 0 END) AS "Mar-Apr"
  FROM your_table
  GROUP BY 1
  ORDER BY 1;
Ricky McMaster
  • 4,289
  • 2
  • 24
  • 23