Ho questa struttura della tabella per la tabella Saldi:Come posso rendere questa query ricorsiva Sql Server?
E questa è la vista:
Ho anche tale struttura per la tabella importi:
Th è è la modalità di visualizzazione per la tabella importi:
Prima di tutto ho bisogno di ottenere il valore importo per un giorno specifico in Importi Tabella:
con questa query ottengo l'importo 300 in data 07/07/2016. Una volta raggiunta questa cifra, ho bisogno di fare una query ricorsiva con la tabella dei saldi. Il risultato finale dovrebbe essere simile a questo:
Name abstractAmount addAmount Balance
----- -------------- --------- -------
Josep 100 400
Maria 50 350
George 60 410
Julianne 25 385
che cosa è questo? Questo risultato si ottiene prendendo il 300 dalla tabella Importi, e per ogni riga nella tabella Balance vedo: Se l'abstracAmount nella prima riga non è vuoto, faccio questo calcolo matematico: balance = (300 - abstractAmount), nel caso è vuoto e la colonna addAmount ha valori che eseguo questo bilancio di calcolo matematico = (300 + addAmount) Nel resto delle righe faccio lo stesso ma il calcolo non è su 300, è sull'ultimo bilancio delle righe: Ad esempio: Nella prima riga il saldo è 400 perché l'addamount ha valore quindi eseguo questo calcolo: 300 + 100 = 400 Nella seconda riga il saldo è 350 perché l'abstractAmount non è vuoto quindi prendo il valore di equilibrio per l'ultima riga e fare questo calcolo: 400 - 50 = 350. E la stessa cosa per il resto delle righe, solo la prima riga prende il bal valore di ance per la tabella degli importi.
Note:
1. Sempre colonna abstractAmount sottrae valori, ei valori di somma delle colonne addAmount.
Sempre una di queste colonne (abstractAmount | addAmount) sarà vuota.
Solo la prima riga prende il valore per eseguire il calcolo matematico per la tabella Importi, il resto delle righe assume il valore per la riga precedente.
Come posso ottenere questo risultato? :
Name abstractAmount addAmount Balance
----- -------------- --------- -------
Josep 100 400
Maria 50 350
George 60 410
Julianne 25 385
Accetto suggerimenti, grazie.
E' posible per aggiungere a questa domanda un'altra query per ottenere il valore dell'importo (300) per la tabella quantità ?? –
Certo, ho aggiunto un esempio nella modifica –
Sono impressionato, la tua risposta sembra molto chiara e semplice da capire, ho pensato che dovevo fare qualcosa di più complesso, grazie mille per il tuo aiuto. –