18. april 2005 - 22:22Der er
7 kommentarer og 1 løsning
Problem med SQL sætning og sortering
Normalt anvender jeg denne SQL for at se de nyeste records i min tabel:
order = request("order")
SQL = "SELECT TOP 30 brugerID, fotoType, fototekst, brugernavn,"&_ " datoSidstSet, datoForOprettelse, ip FROM [brugere] "&_ "WHERE brugerID<>8 ORDER BY " & order & " desc;"
Men det går i kage, når jeg reelt kun vil se de nyeste records samtidig med at jeg sætter en order på en anden kolonne. For så går TOP 30 ind med udgangspunkt i den nye rækkefølge uden at tænke på, at jeg kun er interesseret i at se de nyeste 30 records helt overordnet...
Nu gør jeg sådan her, og det ikke efter hensigten. Der sorteres nu udelukkende på datoForOprettelse men ikke efter den order-streng der sendes:
SQL = "SELECT TOP 24 brugerID, fotoType, fototekst, brugernavn"&_ ", datoSidstSet, datoForOprettelse, ip FROM [brugere]"&_ " WHERE brugerID<>8 ORDER BY datoForOprettelse desc, " & order & " desc;" Set rs = Server.CreateObject("ADODB.RecordSet") rs.Open SQL, Connect, 3, 1
nu har jeg ændret det lidt til sådan her for at finde de første 31 poster, men det virker ikke...
SQL = "SELECT * FROM [brugere]"&_ " WHERE brugerID<>8 ORDER BY " & order & " desc;" Set rs = Server.CreateObject("ADODB.RecordSet") rs.Open SQL, Connect, 3, 1
Do while rs.RecordCount < 31 --diverse html -- Loop
SQL = "SELECT * FROM [brugere]"&_ " WHERE brugerID<>8 ORDER BY datoForOprettelse desc, " & order & " desc;" Set rs = Server.CreateObject("ADODB.RecordSet") rs.Open SQL, Connect, 3, 1
count = 1 Do while count < 10 count = count + 1 -- HTML række -- rs.movenext Loop
Og den finder rigtigt nok kun 10 records efter datoForOprettelse, men den vil stadig ikke hive order-strengen ind...
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.