Avatar billede bentbent Nybegynder
11. december 2002 - 18:56 Der er 12 kommentarer og
1 løsning

ORDER BY ??????????

Hvad er der galt med nedenstående! det giver ingen mening!

Den går galt et eller andet sted i sorteringen "order by"

------------------------------------------------

weight.Source = "SELECT * FROM weight WHERE Wweight < " & kurvtotal.Fields.Item("totalweight").Value & "ORDER BY  Wprice DESC"
Avatar billede eagleeye Praktikant
11. december 2002 - 19:00 #1
Der mangler vist et mellemrum inden ORDER BY:

weight.Source = "SELECT * FROM weight WHERE Wweight < " & kurvtotal.Fields.Item("totalweight").Value & " ORDER BY  Wprice DESC"
Avatar billede bentbent Nybegynder
11. december 2002 - 19:05 #2
Nu virker den! men den sorterer ikke!

"totalweight" er på 3500

og i Wweight er posterne

ID    Wweight
1    1000
2    5000
3    10000

Skulle den så ikke tage ID 2 på 5000 da man skriver:

WHERE Wweight < " & kurvtotal.Fields.Item("totalweight").Value
Avatar billede bentbent Nybegynder
11. december 2002 - 19:09 #3
Det skal lige med at Wprice også bliver højere med Wweight

ID    Wweight    Wprice
1    1000        39
2    5000        42,5
3    10000        52
Avatar billede eagleeye Praktikant
11. december 2002 - 19:09 #4
Nej det skulle den ikke hvis totaltweight er 3500.

Er Wweight defineret som tal?
Avatar billede eagleeye Praktikant
11. december 2002 - 19:12 #5
Prøv evt at udskrive SQL sætninge og ikke udføre den for at se at totaltweight er  rigtigt.:

weight.Source = "SELECT * FROM weight WHERE Wweight < " & kurvtotal.Fields.Item("totalweight").Value & " ORDER BY  Wprice DESC"

Sådan her:

response.write "SELECT * FROM weight WHERE Wweight < " & kurvtotal.Fields.Item("totalweight").Value & " ORDER BY  Wprice DESC"
Avatar billede bentbent Nybegynder
11. december 2002 - 19:13 #6
Det er den ja! den skal dog rigtig sortere således & " ORDER BY  Wweight DESC"

Men det ændrer ikke at den stadig tager ID 1!  - er der en anden måde det kan gøres?
Avatar billede bentbent Nybegynder
11. december 2002 - 19:16 #7
Den udskriver blot

SELECT * FROM weight WHERE Wweight < 3500 ORDER BY Wprice DESC

hvis jeg indsætter:

<%
response.write "SELECT * FROM weight WHERE Wweight < " & kurvtotal.Fields.Item("totalweight").Value & " ORDER BY  Wprice DESC"
%>
Avatar billede eagleeye Praktikant
11. december 2002 - 19:17 #8
Det har ingen betydning på om der er ORDER BY på ellerr ej for hvilke records der vælges det er udelukket WHERE og hvis den tager forkerte records er det fordi WHERE delen er forkert..


Du kan havde flere kolonner i ORDER BY hvis nogle værdier er ens kan man angive flere kolonner som den skal sortere efter man skriver med komma mellem kolonerne.. ORDER BY kolonne1, kolonne2 DESC, kolonne3


weight.Source = "SELECT * FROM weight WHERE Wweight < " & kurvtotal.Fields.Item("totalweight").Value & " ORDER BY  Wweight DESC, Wprice DESC"
Avatar billede eagleeye Praktikant
11. december 2002 - 19:19 #9
Er Wweight defineret som tal?
Avatar billede bentbent Nybegynder
11. december 2002 - 19:21 #10
Den udskriver stadig den laveste værdi "ID 1" når jeg bruger

weight.Source = "SELECT * FROM weight WHERE Wweight < " & kurvtotal.Fields.Item("totalweight").Value & " ORDER BY  Wweight DESC, Wprice DESC"

Kan det være noget at gøre med nedenstående?

<%
Dim weight__MMColParam
weight__MMColParam = "1"
if (Request.QueryString("Wprice") <> "") then weight__MMColParam = Request.QueryString("Wprice")
%>
Avatar billede bentbent Nybegynder
11. december 2002 - 19:22 #11
Ja Wweight er defineret som tal!
Avatar billede bentbent Nybegynder
11. december 2002 - 19:41 #12
Sorry det var mig der var dum! den skal jo første vise næste post når totalweight er over 5000..

ID    Wweight
1    1000
2    5000
3    10000
Avatar billede eagleeye Praktikant
11. december 2002 - 19:41 #13
Ja hvis det ser sådan her ud:

SELECT * FROM weight WHERE Wweight < 3500

Så vil den tage alle record hvor Wweight er mindre end 3500 og dermed hvor ID er 1.

ok :)
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