Avatar billede morten-enni Nybegynder
28. januar 2014 - 15:02 Der er 1 kommentar

oracle sql stock evaluation med FIFO

Har nogen et script til at vurdere lagerværdi af aktuel lagerbehold udfra FIFO.

eks.

Varenr.  Lager_kvantum
vare_1      200
vare_2      300

Varenr Transaction dato    antal pris
vare_1  indkoeb    010114  300  1.00
vare_1  indkoeb    150114  100  2.00
vare_2  indkoeb    100114  300  5.00
vare_2  indkoeb    150114  200  6.00


Ønsket resultat:
Værdi af vare_1= 100*2 + 100*1 =  300
Værdi as vare_2= 200*6 + 100*5 = 1700
Avatar billede Slettet bruger
28. januar 2014 - 15:31 #1
Det kan laves som SELECT ved hjælp af Analytic functions.
Noget i stil med dette (skrevet efter hukommelsen så skal måske justeres lidt):

select s1.*
,Pris * least(Antal, Beh-nvl(Akk,0)) Værdi
from
(
select b.Varenummer, b.Beh, t.Pris, t.Antal
,sum(t.Antal) over(partition by t.Varenummer order by t.Dato desc ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING) Akk
from Beholdning b, Transaction t
where t.varenummer = b.varenummer
) s1
where Akk <= Beh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester