Hallo JesterX
Der
SQL-Befehl UNION fügt keine Datensätze zusammen! Er dient nur dazu, Daten von mehreren Tabellen in einem Resultset zurück zu geben. Er unterdrückt jedoch doppelte Datensätze, welche genau gleich sind (alle Felder haben den gleichen Inhalt), ausser es wird mit UNION ALL gearbeitet. Es gibt eigentlich nur zwei Möglichkeiten, Dein Problem auf
SQL-Basis zu lösen.
1. Du arbeitest mit Temporär-Tabellen, wenn dass Dein
DB-Server unterstützt.
2. Du arbeitest ohne UNION z.B.:
Code:
SELECT aa.Id,
Feld11 = SUM(aa.Feld1), Feld12 = SUM(aa.Feld2),
Feld21 = SUM(bb.Feld1), Feld22 = SUM(bb.Feld2)
FROM Tab1 aa, Tab2 bb
WHERE SUBSTR(aa.id,-1) = SUBSTR(bb.id,-1)
GROUP BY aa.Id
Falls in einer der Tabellen kein Datensatz vorhanden sein muss, musst Du das WHERE noch erweitern (z.B. OR bb.Id IS NULL) und bei dem Ausgabe-Feld Id mit CASE arbeiten!
Gruss
Xaver