Heb weer eens een in mijn ogen onmogelijke query.
Heb 2 tabellen:
Tabel1: ProductVoorraad
ProductID Voorraad
10____________2
12____________0
27____________9
Tabel2: Verkopen
Facnr Productid Aantal
23______10____________1
23______27____________3
24______10____________1
24______12____________3
25______10____________5
Nu wil ik in Tabel2 een extra kolom, met daarin "beschikbare voorraad". Deze beschikbare voorraad, moet op deze manier bepaald worden.
Tabel1 doorlopen, gesort op productid. Voor ieder productid tabel2 doorlopen om te kijken of er wat van verkocht is. Zo ja, een select uitvoeren op Tabel2 gesort op facnr. Dan een update doen van de "beschikbare voorraad" in deze Tabel 2, totdat de beschikbare voorraad op is. Je doorloopt de laatste select van Tabel 2 dus net zolang totdat je beschikbare voorraad van dat product (uit Tabel1) op 0 staat. In dit geval heeft de 1e factuur de hoogste prioriteit bij het toekennen van de voorraad, en gaat de voorraad dus als eerste naar de oudste factuur toe.
In ASP lukt me dit wel, maar dit duurt echt oneindig lang
, dus wil het liefst een stored procedure. Voor mijn gevoel gaat dit echter niet werken in een stored procedure.
Tabel2 moet in dit geval dan worden:
Tabel2: Verkopen
Facnr Productid Aantal BeschikbareVoorraad
23______10____________1____________1
23______27____________3____________3
24______10____________1____________1
24______12____________3____________0
25______10____________5____________0
Hoop dat het een beetje duidelijk is. Is vrij lastig om uit te leggen
Heb 2 tabellen:
Tabel1: ProductVoorraad
ProductID Voorraad
10____________2
12____________0
27____________9
Tabel2: Verkopen
Facnr Productid Aantal
23______10____________1
23______27____________3
24______10____________1
24______12____________3
25______10____________5
Nu wil ik in Tabel2 een extra kolom, met daarin "beschikbare voorraad". Deze beschikbare voorraad, moet op deze manier bepaald worden.
Tabel1 doorlopen, gesort op productid. Voor ieder productid tabel2 doorlopen om te kijken of er wat van verkocht is. Zo ja, een select uitvoeren op Tabel2 gesort op facnr. Dan een update doen van de "beschikbare voorraad" in deze Tabel 2, totdat de beschikbare voorraad op is. Je doorloopt de laatste select van Tabel 2 dus net zolang totdat je beschikbare voorraad van dat product (uit Tabel1) op 0 staat. In dit geval heeft de 1e factuur de hoogste prioriteit bij het toekennen van de voorraad, en gaat de voorraad dus als eerste naar de oudste factuur toe.
In ASP lukt me dit wel, maar dit duurt echt oneindig lang
Tabel2 moet in dit geval dan worden:
Tabel2: Verkopen
Facnr Productid Aantal BeschikbareVoorraad
23______10____________1____________1
23______27____________3____________3
24______10____________1____________1
24______12____________3____________0
25______10____________5____________0
Hoop dat het een beetje duidelijk is. Is vrij lastig om uit te leggen