webForumDet fria alternativet

Beräkning i fält MSSQL7.0

Databaser & SQLur Databashanterare & SQL

3 svar · 236 visningar · startad av ironhead

ironheadMedlem sedan mars 20011 346 inlägg
#1

Halloj!

Jag vet att man kan göra en beräkning direkt i ett fält i MSSQL 7.0, men jag vet inte hur.

Jag har ett topplistesystem där jag sparar

id
rating(skala 1-5)
antal (Antal klick)
sum <-- i det fältet vill jag beräkna (antal röster/poäng*100) ifrån rating & klick.

Hur gör man?

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Du menar

create table ogrish(
id int identity,
rating int,
antal int,
sum AS (rating / antal)*100)

har för mig att det inte går i version 7 utan bara 2000.

Den typen av enkla beräkningar är helt onödigt att lagra. Beräkna det när du hämtar data. Du kan definiera en vy som gör beräkningen.

Engine^Medlem sedan dec. 20003 887 inlägg
#3

Som LarsG säger så är det helt onödigt (och man ska inte) att lagra data som kan beräknas utifrån befintlig data. För dig räcker det med att du sparar id, rating och antal. Sedan när du vill visa datat väljer du ut det med exempelvis

SELECT rating, antal, ((rating / antal) * 100)
FROM t
ORDER BY 3 DESC
ironheadMedlem sedan mars 20011 346 inlägg
#4

...men....jag har en himla massa ratings som ska listas på en å samma sida....trodde det tog så mycket kraft att beräkna då, så att det skulle vara smartare att när nån röstat att vid UPDATE göra beräkningen direkt i fältet för att bara behöva lista ett fält för att visa medelvärdet...

130 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)