18. juli 2008 - 15:02Der er
4 kommentarer og 1 løsning
Nulstil lager ved tilføjelse af rækker
Hejsa Se eksempel Jeg har et varelager som ønskes nulstillet. For hvert partnumber er x-antal rækker med number-værdier i. Tælles værdierne sammen fås 3 i mit eksempel.
I tilfældet laves insert, som nulstiller lagret således: INSERT INTO PartsStock (WareHouseID, PartNumber, Number) values (1, 'CFC:71592418003', -3). Således vil sidste tilføjede række have nulstillet lageret.
Men hvordan klarer jeg dette for flere hundrede, når jeg har partnumrene?
insert into PartsStock(WareHouseID, PartNumber, Number) select p.WareHouseID, p.PartNumber, -Sum(p.Number) from PartsStock p group by p.WareHouseID, p.PartNumber
Dit forslag hjalp mig. Her er det færdige resultat - bare til info. Partvendorid krævedes - derfor:
insert into PartsStock(WareHouseID, PartNumber, Number, PartVendorID) ( SELECT WarehouseID, PartNumber, - SUM(Number) AS number, PartVendorID FROM PartsStock AS p WHERE (PartNumber IN ('CFC:71593318001' . . . . osv.
)) GROUP BY WarehouseID, PartNumber, PartVendorID )
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.