Hi
Ich habe eine recht komplexe Abfrage die mir in etwa sowas liefert (stark vereinfacht)
Wie man sieht kommen die Werte aus tbl2 doppelt vor. Dies weil ich später noch in tbl3 etc joine und es da zwischen tbl1 und tbl3 mehrere Übereinstimmungen geben kann.
Auf jedenfall groupiere ich schlussendlich nach tbl1.id.
Nun möchte ich gerne zu jeder id aus tbl1 die Summe von sum(tbl2.z1/tbl2.z2). Da die Datensätze doppelt sind dachte ich mir ich mach einfach sum(distinct tbl2.z1/tbl2.z1). Dies klappt leider nur solange wie es keine gleichen Werte in z1 und z2 gibt - da diese durch das distinct auch ausgefiltert werden (siehe Datensatz tbl2.id=b1 und tbl2.id=b4).
Meine Befürchtung ist langsam, dass das was ich möchte gar nicht möglich ist.
Hoffe jemand kann mich vom Gegenteil überzeigen
Grüsse
jeipack
PS: Wenn was nicht klar ist einfach fragen
Ich habe eine recht komplexe Abfrage die mir in etwa sowas liefert (stark vereinfacht)
Code:
tbl1.id tbl2.id tbl2.z1 tbl2.z2
a1 b1 8 2
a1 b2 10 5
a1 b3 15 3
a1 b4 8 2
a1 b1 8 2
a1 b2 10 5
a1 b3 15 3
a1 b4 8 2
Auf jedenfall groupiere ich schlussendlich nach tbl1.id.
Nun möchte ich gerne zu jeder id aus tbl1 die Summe von sum(tbl2.z1/tbl2.z2). Da die Datensätze doppelt sind dachte ich mir ich mach einfach sum(distinct tbl2.z1/tbl2.z1). Dies klappt leider nur solange wie es keine gleichen Werte in z1 und z2 gibt - da diese durch das distinct auch ausgefiltert werden (siehe Datensatz tbl2.id=b1 und tbl2.id=b4).
Meine Befürchtung ist langsam, dass das was ich möchte gar nicht möglich ist.
Hoffe jemand kann mich vom Gegenteil überzeigen

Grüsse
jeipack
PS: Wenn was nicht klar ist einfach fragen