Avatar billede steen Nybegynder
21. november 2002 - 11:18 Der er 6 kommentarer og
1 løsning

Udregning i sql

Jeg har en tabel der viser hvor meget rabat der ydes til en kune samt hvor meget de skylder(underligt... der ydes rabat når man er i restance!):

KundeNr      Rabat      Restance
---------------------------------
100001        NULL      157810
100002        2        0
100003        1        0
100004        4        4588

Nu vil jeg gerne lave en forespørgsel der returnerer kundenr og restancebeløb fratrukket rabat:

SELECT KundeNr, Restance * 100 / Rabat AS Restbeløb

Men det virker jo ikke, hvis værdien er null.... jeg har prøvet med if.. begin..end, men uden held. Hvad skal jeg gøre? Jeg kan ikke ændre på databasen

/Steen
Avatar billede di8leva Nybegynder
21. november 2002 - 11:22 #1
er det ikke nemmest att kun hente ut verdin fra varje tuple og regne ud allt utanfør databasen?

hvor skall du bruge det? PHP-side? ASP-side? Java-app?
Avatar billede steen Nybegynder
21. november 2002 - 11:24 #2
det SKAL laves i en stored Procedure, og udregningen SKAL ske deri
Avatar billede bennytordrup Nybegynder
21. november 2002 - 11:25 #3
SELECT KundeNr, case IsNull(Rabat, 0) when 0 then Restance else Restance * 100 / Rabat end AS Restbeløb
Avatar billede bennytordrup Nybegynder
21. november 2002 - 11:25 #4
Min returnerer restance direkte, hvis Rabat er NULL eller 0 og ellers din beregning.
Avatar billede ocp Nybegynder
21. november 2002 - 11:27 #5
SELECT KundeNr, Restance * case when rabat is null then 0 else 100 / Rabat end AS Restbeløb
Avatar billede bennytordrup Nybegynder
21. november 2002 - 11:29 #6
ocp >> Din kan give division med 0. Desuden vil der ikke komme noget restancebeløb, hvis rabat er null (det ved jeg selvfølgelig heller ikke om det er meningen)
Avatar billede ocp Nybegynder
21. november 2002 - 11:31 #7
Det er taget til efterretning. Jeg gider ikke rette det nu... det ville bare komme til at ligne din løsning ;-)
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