- SELECT *
- FROM (SELECT EXTRACT(MONTH FROM CAST(invoice_date AS date)) AS invoice_month,
- COUNT(total) AS year_2011
- FROM invoice
- WHERE EXTRACT(YEAR FROM CAST(invoice_date AS date)) = 2011
- GROUP BY invoice_month) AS y2011
- LEFT OUTER JOIN (SELECT COUNT(total) AS year_2012,
- EXTRACT(MONTH FROM CAST(invoice_date AS date)) AS invoice_month
- FROM invoice
- WHERE EXTRACT(YEAR FROM CAST(invoice_date AS date)) = 2012
- GROUP BY invoice_month) AS y2012 ON y2011.invoice_month = y2012.invoice_month
- LEFT OUTER JOIN (SELECT COUNT(total) AS year_2013,
- EXTRACT(MONTH FROM CAST(invoice_date AS date)) AS invoice_month
- FROM invoice
- WHERE EXTRACT(YEAR FROM CAST(invoice_date AS date)) = 2013
- GROUP BY invoice_month) AS y2013 ON y2012.invoice_month = y2013.invoice_month;