webForumDet fria alternativet

Snårig update i MS SQL

1 svar · 284 visningar · startad av mo:d:fi

mo:d:fiMedlem sedan jan. 200475 inlägg
#1

Hej!

Jag har ett litet dilemma med en sammanställning som jag kämpar med att få uppdateringen av den att fungera.
Jag har i en användartabell 3 kolumner med sammanställningar från en annan tabell. Kort sagt kan man säga att sammanställningarna är antalet rader en användare har i den andra tabellen med ena kolumnen satt till ett av tre värden.
Typ exempel.

Tabell Användare:
antalG antalVG antalMVG

Tabell Prov
ProvID kursID användarID betyg

Nu försöker jag få till uppdateringen av en grupp användare när man tar bort ett prov, dvs för alla som hade g på det provet skall kolumnen antalG decrementeras i användartabellen o.s.v. för alla användare beroende på vilket betyg de hade och om de fanna i provtabellen för aktuellt prov.
Det finns även en tabell kurser med kurskopplingar för användarna.

Jag funderar på någon form av CASE sats men eftersom provtabellen kan vara väldigt stor vil jag inte köra en exists select sats i varje case statement som sedan körs för varje användare.

Någon som ett tips för en MS SQL 2005 SP lösning för detta?

emissionMedlem sedan dec. 19996 721 inlägg
#2

Gör inte en dekrementerande update. Gör en total omberäkning av alla kolumnerna, för de användare som berörs av kursen.

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