Avatar billede hkb-x Nybegynder
02. november 2005 - 12:17 Der er 5 kommentarer og
1 løsning

regning i sql forespørgsel

Jeg bruger følgende sql forespørgsel:

select id, navndk, textDK, price, priceold from Produkter where sale=1 order by (100 - (price / priceold * 100)) asc

men den ken ikke helt lide den... Men hvis jeg skriver:

select id, navndk, textDK, price, priceold from Produkter where sale=1 order by (priceold - price) asc

kan den godt... så hvad er regnebegrænsningen i sql? eller vhilven fejl har jeg lavet...
Avatar billede barklund Nybegynder
02. november 2005 - 12:42 #1
Får du ikke en fejlbesked af en art? Den gider vel ikke bare og siger, at du er dum - den kommer vel med en reel fejl :)

Det kan muligvis give noget Division by Zero, hvis priceold er 0 for nogle rækker - og så ved jeg ikke lige, hvad MySQL kan finde på :)

--
Morten Barklund
Avatar billede hkb-x Nybegynder
02. november 2005 - 12:45 #2
nope... den udskriver dem bare i den rækkefølge de står i databasen... så den ignorerer bare order by... og jeg har prøvet med "priceold + 1" for at sikre mig at jeg ikke dividerer med nul...
Avatar billede jaw Nybegynder
02. november 2005 - 13:52 #3
Har du prøvet at udtrække (piceold - price) as test og udskrive $row['test'] og set om det er din ide der ikke virker, eller om MySql virkelig regner forkert?
Avatar billede jaw Nybegynder
02. november 2005 - 13:53 #4
Det er så selvf denne:

(100 - (price / priceold * 100))  as test

og jeg ville nok smide en ekstra parantes på:
(100 - ((price / priceold) * 100)) så prøv det :)
Avatar billede hkb-x Nybegynder
02. november 2005 - 16:12 #5
ahh... fand en alternativ løsning.. men den bygger på din jaw så skriv svar for point..
Avatar billede jaw Nybegynder
02. november 2005 - 16:14 #6
Okey dokey, takker :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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