I´m currently struggling to get this to work.
SELECT Y, SUM(N) AS sumDK, NULL AS sumFI, NULL AS sumNO, NULL AS sumSE
FROM stat
WHERE (C = 'Denmark')
GROUP BY Y
UNION ALL
SELECT Y, NULL AS sumDK, SUM(N) AS sumFI, NULL AS sumNO, NULL AS sumSE
FROM stat
WHERE (C = 'Finland')
GROUP BY Y
UNION ALL
SELECT Y, NULL AS sumDK, NULL AS sumFI, SUM(N) AS sumNO, NULL AS sumSE
FROM stat
WHERE (C = 'Norway')
GROUP BY Y
UNION ALL
SELECT Y, NULL AS sumDK, NULL AS sumFI, NULL AS sumNO, SUM(N) AS sumSE
FROM stat
WHERE (C = 'Sweden')
GROUP BY Y
This query gives me a matrix like this:
Y | sumDK | sumFI | sumNO | sumSE
----------------------------------
2011| 25 | NULL | NULL | NULL
2012| 5 | NULL | NULL | NULL
2011| NULL | 18 | NULL |NULL
2012| NULL | 5 | NULL |NULL
......
How can I perform a query that only returns the fields NOT NULL?
Thanks in advance!
go through the table once, and create it as a cross-tab by summing the match of respective columns