webForumDet fria alternativet
Logga in / Bli medlem

Rally tabell

Databaser & SQL

7 svar · 178 visningar · startad av icaaq

Medlem sedan okt. 20005 273 inlägg
Frågan#1

jag har en tabell (access) med
startnr
namn
klubb
SS 1(nn:ss)
SS 2(nn:ss)
SS 3(nn:ss)
Brutit(Ja/Nej)

Nu vill jag sortera dessa i access efter den totala tiden av SS 1, SS2, SS 3 och dem som har brutit kommer sist ...

hur skulle det gå till??

Medlem sedan dec. 200012 464 inlägg
#2

Vad är ss1 för datatyp. Char eller?

select * from rally
order by iif(brutit=true,0,1),
 60*clng(left(ss1,instr(ss1,':')-1))+clng(right(ss1,2)) + 
60*clng(left(ss2,instr(ss2,':')-1))+clng(right(ss2,2)) +
60*clng(left(ss3,instr(ss3,':')-1))+clng(right(ss3,2))
Medlem sedan okt. 20005 273 inlägg
#3

Det är Datum/Tid (nn:ss)

*testar*

Medlem sedan okt. 20005 273 inlägg
#4

Funkar inte.... :(

datatype missmatch in criteria expresion!

Medlem sedan okt. 20005 273 inlägg
#5

Borde man inte använda SUM()??

Medlem sedan dec. 200012 464 inlägg
#6

I och med att det ligger som olika kolumner så går det inte att använda sum. Det får bli en datediff i stället, något så här kanske

select * from rally
order by iif(brutit=true,0,1),
datediff('s',cdate('00:00:00'),ss1) + 
datediff('s',cdate('00:00:00'),ss2) + 
datediff('s',cdate('00:00:00'),ss3)
Medlem sedan okt. 20005 273 inlägg
#7

Går det att få ett fält där jag har summan av ss1, ss2, ss3 ??

Medlem sedan dec. 200012 464 inlägg
#8

Du kan väl ta med det i select-listan.

select startnr,
namn,
klubb,
brutit,
datediff('s',cdate('00:00:00'),ss1) + 
datediff('s',cdate('00:00:00'),ss2) + 
datediff('s',cdate('00:00:00'),ss3)
from rally
order by iif(brutit=true,0,1),
5

5:an innebär att man använder 5:e kolumnen i select-listan för sorteringen.

382 ms totalt · 4 externa anrop · v20260731065814-full.05830320
127 ms — deklarationer (db)
120 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)