Entwickler-Ecke

Datenbanken - Felder automatisch berechnen in Mastertabelle


Jenns - Fr 13.02.09 17:15
Titel: Felder automatisch berechnen in Mastertabelle
Hallo,

ich habe folgendes Problem:

Ich habe 2 Tabellen (Rechnung und Position)
die Tabelle Position enthält die einzelnen Rechnungspositionen und hat folgenden Aufbau

Renr | Posnr | Menge | Preis | Gesamtpreis

wobei Renr ein Fremdschlüssel für Rechnung ist und Gesamtpreis ein berechnetes Feld mit Menge * Preis

die Tabelle Rechnung soll so aussehen:

Renr | Summe

wobei Summe die Summe der Gesamtpreise ist, wo die Renr identisch ist.

mit

SQL-Anweisung
1:
select renr, sum( Gesamtpreis) as Summe from position group by renr                    


bekomm ich die benötigten Werte, aber wie bekomm ich die an besten in die Rechnungen rein?
Am liebsten wäre mir, wenn das Feld genauso berechnet werden kann, wie der Gesamtpreis, dh, ich muss im Programm nichts beachten und es wird immer von dem SQLServer berechnet berechnet.

Gruß, Jenns


ffgorcky - Mo 11.05.09 13:54

Ich denke mal, dass Du das so in etwa haben möchtest, wie es im zweiten Post im Thema [ABSOLUTE DATABASE] Verwendung von.. [http://www.delphi-forum.de/viewtopic.php?t=85693&start=0&postorder=asc&highlight=select++tabelle+ausgeben] auch gemacht wird.


UGrohne - Mo 11.05.09 13:58

Eine Möglichkeit wäre ein UPDATE-, DELETE- und INSERT-Trigger auf der Positionstabelle. Damit kannst Du immer die Rechnungstabelle aktualisieren. Die Zweite und bessere Möglichkeit (weil weniger IO) wäre eine View für die Rechnungen, die diese Summe dan bei der Abfrage berechnet.