Union oder Join oder ?? 3 Tabellen in einer View

HolgerB

Neuer Benutzer
Beiträge
4
Folgende Tabellen verfügbar
TAB1
ID
PRNR
KUNDE
AUFTRAGGEBER

TAB2
ID
PRNR
SUM1

TAB3
ID
PRNR
SUM2

Beispiel- Werte
TAB1
ID PRNR KUNDE AUFTRAGGEBER
1 100 1 1
2 200 1 2
3 300 2 1
TAB 2
ID PRNR SUM1
1 100 100
2 100 50
3 100 25
4 200 75
5 200 20
6 300 1000
TAB3
ID PRNR SUM2
1 100 150
2 200 50
3 200 10
4 300 800

So soll die View aussehen
PRNR KUNDE AUFTRAGG SUM1 SUM 2 DIFF
100 1 1 175 150 25
200 1 2 95 60 35
300 2 1 1000 800 200

Ich bekomme das nicht hin, da einige Datensätze doppelt berechnet werden.
Danke wenn jemand helfen kann
 
Zuletzt bearbeitet:
Werbung:
Code:
SELECT t1.PRNR, t1.KUNDE, t1.AUFTRAGGEBER AS AUFTRAGG, sum(SUM1) AS SUM1, sum(SUM2) AS SUM2, sum(SUM1)-sum(SUM2) AS DIFF
FROM TAB1 t1
LEFT JOIN TAB2 t2
ON t1.PRNR = t2.PRNR
LEFT JOIN TAB3 t3
ON t1.PRNR = t3.PRNR
GROUP BY t1.PRNR, t1.KUNDE, t1.AUFTRAGGEBER
 
Vielen Dank für die Bemühungen!!!!!
Ist schon sehr viel erfolgreicher als meine dilettantischen Versuche
mit folgendem Ergebnis :

PRNR KUNDE AUFTRAGG SUM1 SUM2 DIFF
50805 41864 60001 544.31 1029.60 0.00


Ich weiß nur nicht wie die Summen zustandekommen?
Folgende Daten in den tabellen Detail aufgerufen
Werte aus TAB 2
31 50805 41864 REKL7160177 2016-03-21 10:32:19 29.51 2016-03-21 10:36:00
234 50805 41864 LS41602357 2016-03-24 11:32:10 514.80 2016-03-24 11:34:02

WERTE AUS TAB 3 (hier ist SUMME 2 und die ist nicht 1029,60 sondern 514,80)

375 50805 N868830 - T924746 213042 2016-03-31 12:43:43 514.80 2016-03-31 12:43:49

WERTE AUS TAB 1
F695:::42272A 50805 7 60001 41864 HH-FC8671 2 2016-03-29 13:30:02 2016-03-29 13:29:07

:);)
 
Zuletzt bearbeitet:
Nunja der LEFT JOIN gibt dir zu Tab1 alle Einträge der Tab2, macht also zwei Zeilen daraus. Das wird dann natürlich aggregiert, ist aber aus deinem ersten Post nicht erkennbar.
Code:
SELECT   t.PRNR,
     t.KUNDE,
     t.AUFTRAGG,
     t.SUM1,
     sum(t3.SUM2) AS SUM2,
     t.SUM1 - sum(t3.SUM2) AS DIFF
FROM   (

SELECT   t1.PRNR,
     t1.KUNDE,
     t1.AUFTRAGGEBER AS AUFTRAGG,
     sum(t2.SUM1) AS SUM1
FROM   TAB1 t1
LEFT JOIN TAB2 t2
ON     t1.PRNR = t2.PRNR
GROUP BY t1.PRNR, t1.KUNDE, t1.AUFTRAGGEBER

     ) t
LEFT JOIN TAB3 t3
ON     t.PRNR = t3.PRNR
GROUP BY t.PRNR, t.KUNDE, t.AUFTRAGGEBER, t.SUM1
 
Werbung:
Wie wahr, deshalb machen wir den Umweg über eine MYSQL DB, aus Lotus Notes heraus, läuft erst mal gut. Ich versuche das Ganze noch in eine View zu packen, kommt aber erst mal die SUBQUERRY Fehlermeldung, wie das so ist.....
 
Zurück
Oben