Avatar billede anders_cp Nybegynder
18. juli 2008 - 15:02 Der 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?
Avatar billede anders_cp Nybegynder
18. juli 2008 - 15:10 #1
ups. Glemte eksemplet:
1    CFC:71592418003    1
1    CFC:71592418003    -1
1    CFC:71592418003    1
1    CFC:71592418003    -1
1    CFC:71592418003    1
1    CFC:71592418003    -1
1    CFC:71592418003    1
1    CFC:71592418003    -1
1    CFC:71592418003    1
1    CFC:71592418003    -1
1    CFC:71592418003    1
1    CFC:71592418003    -1
1    CFC:71592418003    1
1    CFC:71592418003    -1
1    CFC:71592418003    1
1    CFC:71592418003    -1
1    CFC:71592418003    3
1    CFC:71592418003    0


Der er flere felter, men jeg har kun taget de aktuelt vigtige med ;)
Avatar billede anders_cp Nybegynder
18. juli 2008 - 15:10 #2
warehouseid      partnumber    number
Avatar billede aaberg Nybegynder
18. juli 2008 - 15:18 #3
Noget lignende dette:

insert into PartsStock(WareHouseID, PartNumber, Number)
select p.WareHouseID, p.PartNumber, -Sum(p.Number)
from PartsStock p
group by p.WareHouseID, p.PartNumber

Jeg har ikke testet det.
Avatar billede anders_cp Nybegynder
18. juli 2008 - 15:40 #4
mange tak.

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
)

Læg et svar :-)
Avatar billede aaberg Nybegynder
18. juli 2008 - 21:06 #5
svar :-)
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