Ich habe diese Tabellenstruktur für Waagen Tabelle:Wie kann ich diese Abfrage rekursiv Sql Server machen?
Und dies ist die Ansicht:
Ich habe auch diese Struktur für Beträge Tabelle:
Th der Ansichtsmodus für Beträge Tabelle ist:
Zunächst einmal muss ich die Menge Wert für einen bestimmten Tag in Mengen Tabelle erhalten:
mit dieser Abfrage ich der Betrag 300 in Datum 07/07/2016. Sobald diese Zahl erreicht ist, muss ich eine rekursive Abfrage mit Balances-Tabelle machen. Das Endergebnis sollte wie folgt sein:
Name abstractAmount addAmount Balance
----- -------------- --------- -------
Josep 100 400
Maria 50 350
George 60 410
Julianne 25 385
was ist das? Dieses Ergebnis wird erreicht, indem der 300 aus der Tabelle Beträge genommen wird, und für jede Zeile in der Tabelle Ausgleich sehe ich: Wenn der abstracAmount in der ersten Zeile nicht leer ist, mache ich diese mathematische Berechnung: balance = (300 - abstractAmount), falls ist leer und die Spalte addAmount hat Werte, die ich diesen mathematischen Berechnungssaldo = (300 + addAmount) mache Im Rest der Zeilen mache ich das gleiche, aber die Berechnung ist nicht auf 300, ist auf der letzten Zeile Balance: Zum Beispiel: In der ersten Zeile ist der Saldo 400, da der Addount einen Wert hat, also mache ich diese Berechnung: 300 + 100 = 400 In der zweiten Zeile ist der Saldo 350, da der abstractAmount nicht leer ist, also nehme ich den Saldowert für die letzte Zeile und Machen Sie diese Berechnung: 400 - 50 = 350. Und das gleiche für den Rest der Reihen, nimmt nur die erste Reihe den Ball Wert für die Tabelle der Beträge.
Hinweise:
1. Immer die Spalte abstractAmount Werte subtrahiert, und die addAmount Spaltensummenwerte.
Immer eine dieser Spalten (abstractAmount | addAmount) ist leer.
Nur die erste Zeile nimmt den Wert, um die mathematische Berechnung für die Tabelle Amounts, der Rest der Zeilen nimmt den Wert für die Zeile vor.
Wie kann ich dieses Endergebnis zu bekommen? :
Name abstractAmount addAmount Balance
----- -------------- --------- -------
Josep 100 400
Maria 50 350
George 60 410
Julianne 25 385
Ich nehme Vorschläge an, danke.
Ist posible erhalten auf diese Abfrage eine andere Abfrage hinzuzufügen, um den Mengenwert (300) für die Beträge Tisch zu bekommen ?? –
Sicher Ding, hinzugefügt ein Beispiel in der Bearbeitung –
Ich bin beeindruckt, Ihre Antwort scheint sehr klar und einfach zu verstehen, ich dachte, ich musste etwas komplexer, vielen Dank für Ihre Hilfe. –