I have the following statement table in Postgres:
stock |  year | statement    | amount           
ACME  | 2003  | Q1 Earnings  | 100
ACME  | 2003  | Q2 Earnings  | 200
ACME  | 2004  | Q2 Earnings  | 300 
How do I make a new table with all of a year's 4 quarters on one row? And null values for missing statements.
stock | year | Q1 Earnings | Q2 Earnings | Q3 Earnings | Q4 Earnings 
ACME  | 2003 | 100         | 200         | Null        | Null
ACME  | 2004 | NULL        | 300         | Null        | Null
Found this answer: Postgres - Transpose Rows to Columns but it doesn't show how to create and populate the new columns based on another value or deal with null values.
 
    