Merge/Join
am 07.02.2007 15:40:13 von Lambros RizosIch habe drei Tabellen die ich verknuepfen moechte:
T1 T2 T3
Ind w1 Ind w2 d Ind w3 d
1 111 1 211 01.02.2006 1 311 01.02.2006
2 112 1 212 02.02.2006 1 312 02.02.2006
3 113 2 221 01.03.2006 1 313 03.02.2006
4 114 2 222 01.04.2006 2 321 01.03.2006
3 231 01.05.2006 2 322 01.04.2006
3 232 02.05.2006
4 241 01.06.2006
4 242 01.07.2006
Abfrage-Ziel : Eine Tabelle aller Werte
Bedingungen:
1) T1.Ind=T2.Ind=T3.Ind
2) T2.d=T3.d
Nebenbedingung
Wenn 2) nicht zutrifft, soll T1.Ind,T1.w1 + die jeweils
vorhandene Zeile aus T2 oder T3 zurueckgeliefert werden
Also Wunsch-Ziel:
Ind w1 Ind w2 d Ind w3 d
1 111 1 211 01.02.2006 1 311 01.02.2006
1 111 1 212 02.02.2006 1 312 02.02.2006
1 111 1 313 03.02.2006
2 112 2 221 01.03.2006 2 321 01.03.2006
2 112 2 222 01.04.2006 2 322 01.04.2006
3 113 3 231 01.05.2006
3 113 3 232 02.05.2006
4 114 4 241 01.06.2006
4 114 4 242 01.07.2006
Erreicht:
1 111 1 212 02.02.2006 1 312 02.02.2006
1 111 1 211 01.02.2006 1 311 01.02.2006
1 313 03.02.2006
2 121 2 222 01.04.2006 2 322 01.04.2006
2 121 2 221 01.03.2006 2 321 01.03.2006
3 131 3 231 01.05.2006
3 131 3 232 02.05.2006
4 141 4 241 01.06.2006
4 141 4 242 01.07.2006
mit
select * from t1
left join t2 on ( t1.pa=t2.pa)
full join t3 on(t1.pa=t3.pa and t2.d=t3.d)
Wie komme ich weiter?
Danke und entschuldigt bitte den Roman, Lambros