Anmelden

View Full Version : Frage zu sql-statement



juniorprog
15-07-05, 07:42
Hallo,

ich habe folgendes problem und weiss nich ob ich da engstirnig denke.

also in einem datensatz gibt es 5 felder mit personen und dazu 5 feldern mit umsatzwerten. in jedem feld person kann eine beliebige person stehen der der dazugehörige umsatzwert zugeordnet ist.

pers1 ums1. pers2, ums2, pers3, ums3,...

wenn nun zu einer person x der gesamtumsatz gebildet werden soll wird zur zeit
je ums1 - 5 eine summe gebildet (sum ums1 where pers1=x + sum um2 where pers2=X) die dann per hand zusammenaddiert werden.

kann man hier mit einer verschachtelten select anweisung irgendwie das problem umgehen, damit man nur eine sql abfrage bruacht die dann entsprechend die summe der 5 einzelsummen bildet?

Fuerchau
15-07-05, 09:11
Das ist der Nachteil der fehlenden Normalisierung. Versuch mal folgendes:

select sum(
case
when pers1=x then ums1
when pers2=x then ums2
when pers3=x then ums3
when pers4=x then ums4
when pers5=x then ums5
else 0 end)
from ...
where ... and (pers1=x or pers2=x or pers3=x or pers4=x or pers5=x)

Dabei gilt, dass eine Person nur einmal pro Satz vorkommen darf !
Ansonsten gilt halt dein Verfahren.

juniorprog
15-07-05, 14:05
Super Danke!
Gibt es hier zu den SQL optionen mit case.. irgendwo gute onlinedokumentationen?

Fuerchau
15-07-05, 16:13
Im aktuellen SQL-Handbuch !

B.Hauser
15-07-05, 19:00
Die aktuelle SQL Reference findest Du unter dem folgenden Link:
SQL Reference Release V5R3M0 (http://publib.boulder.ibm.com/infocenter/iseries/v5r3/ic2924/info/db2/rbafzmst.pdf)

Birgitta

BenderD
15-07-05, 20:06
Hallo,

wichtiger wäre als Lektüre vielleicht
http://www.payer.de/dbaufbau/dbauf04.html
für den, der diese Tabelle verbrochen hat. Ein Glück, dass Sommer ist: da richten sich aufrollende Fußnägel weniger Schaden an.

mfg

Dieter Bender


Die aktuelle SQL Reference findest Du unter dem folgenden Link:
SQL Reference Release V5R3M0 (http://publib.boulder.ibm.com/infocenter/iseries/v5r3/ic2924/info/db2/rbafzmst.pdf)

Birgitta

juniorprog
18-07-05, 11:22
Hallo,

wichtiger wäre als Lektüre vielleicht
http://www.payer.de/dbaufbau/dbauf04.html
für den, der diese Tabelle verbrochen hat. Ein Glück, dass Sommer ist: da richten sich aufrollende Fußnägel weniger Schaden an.

mfg

Dieter Bender
das ist wohl wahr. der übeltäter geniesst jedoch seinen ruhestand, da glaub ich kaum dass der das noch liest ;-)