Hallo,
ich habe folgende Frage zur Erstellung einer Spalte in SQL, welche sich selbst berechnen soll.
Aus der MS - Doku geht eigentlich klar hervor wie man das anstellen kann, wenn sich die Quellinformation in der selben Tabelle befindet. Genau das ist bei mir der Punkt, meine Quellinformationen sind in einer anderen Tabelle und müssen sich aus mehreren Einträgen (Zeilen) errechnen.
Gibt es nun einen Weg, folgende Daten abzufragen, zusammenzurechnen und in der Zeile zu speichern? (derzeit formuliere ich meinen pseudocode - daher habe ich keine Code Beispiele.)
Folgend meine Tabellen mit dem IST - Zustand und dem Wunschzustand:
Tabellen:
Tabelle 1 - "Account"
ID | NAME | START_VALUE | VALUE | FK_USR
1 ; TEST ; 10.0 ; 0.0 ; 1 => VALUE muss programmtechnisch errechnet und gespeichert werden
2 ; OK ; 15.15 ; 0.0 ; 3
Tabelle 2 - "Buchungszeile"
ID | DATE | VALUE | FK_ACC
1 ; 01.01.2023 ; -120.0 | 1
1 ; 02.01.2023 ; -1.0 | 1
1 ; 03.01.2023 ; +16.0 | 1
1 ; 04.01.2023 ; -33.3 | 1
1 ; 05.01.2023 ; +250.59 | 1
Wunsch:
Tabelle 1 - "Account"
ID | NAME | START_VALUE | VALUE | FK_USR
1 ; TEST ; 10.0 ; 122.29 ; 1 => VALUE = (Account.START_VALUE + (SELECT SUM(VALUE) FROM Buchungszeile WHERE FK_ACC = Account.ID)) PERSISTED ≙ 122.29
2 ; OK ; 15.15 ; 15.15 ; 3 => VALUE = (Account.START_VALUE + (SELECT SUM(VALUE) FROM Buchungszeile WHERE FK_ACC = Account.ID)) PERSISTED ≙ 15.15
Falls für berechneten Spalten noch Sonderregel gelten oder ich auf bestimmte Dinge aufpassen muss, z.B.: beim Abfragen dann bitte ebenfalls um kurze Info.
Vielen Dank für jegliche Hilfe.
LG Sh0Xy
ich habe folgende Frage zur Erstellung einer Spalte in SQL, welche sich selbst berechnen soll.
Aus der MS - Doku geht eigentlich klar hervor wie man das anstellen kann, wenn sich die Quellinformation in der selben Tabelle befindet. Genau das ist bei mir der Punkt, meine Quellinformationen sind in einer anderen Tabelle und müssen sich aus mehreren Einträgen (Zeilen) errechnen.
Gibt es nun einen Weg, folgende Daten abzufragen, zusammenzurechnen und in der Zeile zu speichern? (derzeit formuliere ich meinen pseudocode - daher habe ich keine Code Beispiele.)
Folgend meine Tabellen mit dem IST - Zustand und dem Wunschzustand:
Tabellen:
Tabelle 1 - "Account"
ID | NAME | START_VALUE | VALUE | FK_USR
1 ; TEST ; 10.0 ; 0.0 ; 1 => VALUE muss programmtechnisch errechnet und gespeichert werden
2 ; OK ; 15.15 ; 0.0 ; 3
Tabelle 2 - "Buchungszeile"
ID | DATE | VALUE | FK_ACC
1 ; 01.01.2023 ; -120.0 | 1
1 ; 02.01.2023 ; -1.0 | 1
1 ; 03.01.2023 ; +16.0 | 1
1 ; 04.01.2023 ; -33.3 | 1
1 ; 05.01.2023 ; +250.59 | 1
Wunsch:
Tabelle 1 - "Account"
ID | NAME | START_VALUE | VALUE | FK_USR
1 ; TEST ; 10.0 ; 122.29 ; 1 => VALUE = (Account.START_VALUE + (SELECT SUM(VALUE) FROM Buchungszeile WHERE FK_ACC = Account.ID)) PERSISTED ≙ 122.29
2 ; OK ; 15.15 ; 15.15 ; 3 => VALUE = (Account.START_VALUE + (SELECT SUM(VALUE) FROM Buchungszeile WHERE FK_ACC = Account.ID)) PERSISTED ≙ 15.15
Falls für berechneten Spalten noch Sonderregel gelten oder ich auf bestimmte Dinge aufpassen muss, z.B.: beim Abfragen dann bitte ebenfalls um kurze Info.
Vielen Dank für jegliche Hilfe.
LG Sh0Xy
Comment