Avatar billede fastpoint Nybegynder
13. maj 2005 - 23:54 Der er 2 kommentarer og
1 løsning

udskrive det korrekte antal

Vi er nu nået lidt længere i vores lagerstyringsystem, men vi har et mindre problem nu.

Når man bestiller en vare så gemmer vi varens id i ordrelinie tabellen og det antal man har bestilt.

DROP TABLE OrdreLinie CASCADE CONSTRAINTS;
CREATE TABLE OrdreLinie (
    vareID NUMBER ( 8 )NOT NULL REFERENCES vare,
    ordreNr NUMBER ( 6 ) NOT NULL REFERENCES ordre,
    antal NUMBER ( 5 ) NOT NULL,
        antaliRestOrdre NUMBER ( 5 ) NOT NULL
    );


Nu er meningen, at dette antal skal trækkes fra antal på lager når man hiver det frem med vores sql. Vi har joinet tabellerne sådan her.


DROP VIEW TOTALOVERSIGT CASCADE CONSTRAINTS;
CREATE VIEW TOTALOVERSIGT AS
SELECT VARENAVN,UDSALGSPRIS,TILBUDSPRIS,VINOMRAADE,LAND,SEKTIONNAVN,lagerBeholdning.ANTAL,VINBESKRIVELSE,minimumLager,DRUETYPE,LAGERNAVN,AARGANG,VARE.VAREID,leveringStatus
FROM VARE,VIN,Sektion,lagerBeholdning,MinimumLager,LagerNavn,Aargang,Ordre,OrdreLinie
WHERE VARE.VAREID = VIN.VAREID
AND VIN.VAREID = minimumLager.VAREID
AND MinimumLager.LagerNavnID = LagerNavn.LagerNavnID
AND Aargang.aargangid = minimumLager.aargangID
AND minimumLager.lagerBeholdningID = lagerBeholdning.lagerBeholdningID
AND lagerBeholdning.sektionID = Sektion.SektionID
AND Ordre.ordreNr = OrdreLinie.ordreNr;

hvordan får vi den til at udskrive det rigtige antal?

antalet i OrdreLinie  skal altså trækkes fra MinimumLager, men selvfølgelig kun i udskriften.

nogle ideer? spørg endelig ind til det hvis vi ikke har uddybet nok.
Avatar billede arne_v Ekspert
13. maj 2005 - 23:59 #1
det er lidt svært at følge jer

er det

SELECT ...,lagerBeholdning.ANTAL-ordrelinie.antal,...

i leder efter
Avatar billede fastpoint Nybegynder
14. maj 2005 - 08:48 #2
Undskyld det er selvfølgelig ikke MinimumLager som vi skrev, men LagerBeholdning som du skriver:)  og det er præcis det, men der mangler lige en betingelse mere. Ordrelinie er joinet med Ordre hvor der står om Ordren er Solgt eller reserveret.
Den skal kun trække de to tal fra hinanden hvis OrdreNr i tabellen Ordre findes i tabellen Ordrelinies ordreNr.

Gør den ikke det er der ikke blevet reserveret eller solgt noget af den vare og så behøver vi ikke lave en udregning på den.
Avatar billede fastpoint Nybegynder
24. maj 2005 - 10:11 #3
problemet blev også løst her.
Vi kan ikke lige huske hvordan.

men du kan få opgaven hvis du vil se det.
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
Kurser inden for grundlæggende programmering

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