Hallo,
ich stehe hier gerade vor einem Problem, wonach ich gegoogelt habe, eine Lösung gefunden und auf mein Problem angewendet habe, leider ist das Ergebnis nicht das erwartete.
Ich habe hier verschiedene Views aus Tabellen erstellt.
In einem View "Jahre" stehen nur Jahre von 2007 - 2013 drin, also:
Dann habe ich 3 weitere Tabellen, welche jeweils als Spalte ein Jahr beinhalten sowie einen bestimmten Wert.
Diese Tabellen müssen aber nicht alle Jahre beinhalten, z.B:
und
und
Ich möchte nun alle 4 Tabellen miteinander verbinden, d.h. am Ende eine Tabelle haben mit diesem Format:
Dafür habe ich mir ein Query überlegt, welches folgendermaßen aussieht:
Ich habe es auch schon mit UNION ALL versucht, aber die Spalten werden nicht "nebeneinander" gestellt, sondern immer sowas:
Weiss jemand, woran das liegen könnte?
ich stehe hier gerade vor einem Problem, wonach ich gegoogelt habe, eine Lösung gefunden und auf mein Problem angewendet habe, leider ist das Ergebnis nicht das erwartete.
Ich habe hier verschiedene Views aus Tabellen erstellt.
In einem View "Jahre" stehen nur Jahre von 2007 - 2013 drin, also:
Code:
|Jahr|
|2007|
|2008|
|2009|
|2010|
|2011|
|2012|
|2013|
Dann habe ich 3 weitere Tabellen, welche jeweils als Spalte ein Jahr beinhalten sowie einen bestimmten Wert.
Diese Tabellen müssen aber nicht alle Jahre beinhalten, z.B:
Code:
"tab1"
|Jahr|Wert_1|
|2007| 100|
|2009| 120|
|2011| 130|
und
Code:
"tab2"
|Jahr|Wert_2|
|2007| 110|
|2008| 20|
|2009| 130|
|2011| 140|
|2012| 120|
und
Code:
"tab3"
|Jahr|Wert_3|
|2008| 200|
|2009| 220|
|2010| 150|
|2013| 200|
Ich möchte nun alle 4 Tabellen miteinander verbinden, d.h. am Ende eine Tabelle haben mit diesem Format:
Code:
|Jahr|Wert_1|Wert_2|Wert_3|
|2007| 100| 110| - |
|2008| - | 20| 200|
|2009| 120| 130| 220|
|2010| - | - | 150|
|2011| 130| 140| - |
|2012| - | 120| - |
|2013| - | - | 200|
Dafür habe ich mir ein Query überlegt, welches folgendermaßen aussieht:
Code:
SELECT
j.Jahr AS 'Jahr',
t1.Wert_1 AS 'Wert_1',
'' AS 'Wert_2',
'' AS 'Wert_3'
FROM Jahre j
LEFT JOIN
tab1 t1
ON j.Jahr = t1.Jahr
UNION
SELECT
j.Jahr AS 'Jahr',
'' AS 'Wert_1',
t2.Wert_2 AS 'Wert_2',
'' AS 'Wert_3'
FROM Jahre j
LEFT JOIN
tab2 t2
ON j.Jahr = t2.Jahr
UNION
SELECT
j.Jahr AS 'Jahr',
'' AS 'Wert_1',
'' AS 'Wert_2',
t3.Wert_3 AS 'Wert_3'
FROM Jahre j
LEFT JOIN
tab2 t3
ON j.Jahr = t3.Jahr
Ich habe es auch schon mit UNION ALL versucht, aber die Spalten werden nicht "nebeneinander" gestellt, sondern immer sowas:
Code:
|Jahr|Wert_1|Wert_2|Wert_3|
|2007| 100| | |
|2008| | | |
|2009| 120| | |
|2010| | | |
|2011| 130| | |
|2012| | | |
|2013| | | |
|2007| | 110| |
|2008| | 20| |
|2009| | 130| |
|2010| | | |
|2011| | 140| |
|2012| | 120| |
|2013| | | |
|2007| | | |
|2008| | | 200|
|2009| | | 220|
|2010| | | 150|
|2011| | | |
|2012| | | |
|2013| | | 200|
Weiss jemand, woran das liegen könnte?