Ho due tabelle: magazzino e orderrow:Come controllare per azione disponibili e li assegna a un ordine utilizzando una visualizzazione in SQL Server
magazzino:
*id | name | stockcount
----------------------------
1 | item1 | 10
2 | item2 | 9
Orderrow:
id | date | itemid | ordercount
------------------------------------------
1001 | 1/1/2016 | 1 | 5
1002 | 1/1/2016 | 2 | 8
1003 | 1/1/2016 | 2 | 1
1004 | 1/1/2016 | 1 | 3
1005 | 1/1/2016 | 1 | 5
Vorrei avere la seguente vista:
qry_orderrow:
id | date | itemid | ordercount | stockleft
------------------------------------------------------
1001 | 1/1/2016 | 1 | 5 | 5
1002 | 1/1/2016 | 2 | 8 | 1
1003 | 1/1/2016 | 2 | 1 | 0
1004 | 1/1/2016 | 1 | 3 | 2
1005 | 1/1/2016 | 1 | 5 | -3
Come potete vedere ho aggiunto una colonna "Stockleft". Vorrei calcolare lo stock rimasto dopo aver sottratto il numero di articoli del orderrow.
Qualcuno sa come creare questa query utilizzando SQL Server? Non so davvero come farlo, quindi qualsiasi aiuto sarebbe molto apprezzato!
+1: Sai che non ho mai realizzato che hanno cambiato 'SUM (..) OVER (PARTITION BY ..)' dal totale della partizione a un totale parziale all'interno della partizione quando hanno aggiunto il supporto per l'espressione 'ORDER BY' . Ho sempre pensato che dovevi usare le espressioni di finestre più pesanti (Precedenza, Seguendo, ecc.). – RBarryYoung
La funzione windowed deve essere partizionata dall'ID ordine: (PARTITION BY o.itemid ORDER BY o.id) –
Grazie Gordon! Funziona come un fascino – Tony