Jag är ju inte riktikgt hemma på det här med sql, men tänkte att detta borde göras med sql. Jag ska räkna ut hur många procent som varje Answercount är inom samma id, så alla som har ID = 2 är 100% tillsammans.
"UPDATE [PollAnswers] SET [AnswerPercent] = [AnswerCount] * ((SUM ([AnswerCount] WHERE ID=2))/(COUNT([AnswerCount] WHERE ID = 2)))"
Funkar inte riktigt, någon som har bättre förslag?
LarsGMedlem sedan dec. 200012 464 inlägg Förutsätter att du har någon kolumn som identifierar vilken fråga det gäller. Jag kallar den answerid.
UPDATE PollAnswers as pa
SET AnswerPercent =
(select cast(sum(case when answerid = pa.answerid then 1 else 0 end) as decimal(10,2))/
count(*) from pollanswers where id = 2)
WHERE ID = 2
Ja inte lätt att förså vad jag menade kanske
int Q = question id
"UPDATE [PollAnswers] SET [AnswerPercent] = [AnswerCount] * ((SUM ([AnswerCount] WHERE QID=Q))/(COUNT([AnswerCount] WHERE QID = Q)))"
Alltså jag vill Uppdatera alla svar som finns för en fråga.
Kan ju finnas fem svar till fråga x och då vill jag i en SQL sats beräkna procenten för de fem.
Alltså
QID AnswerCOunt AnswerPercent
2 7 X
2 0 X
2 1 X
3 2 x
3 17 x
alltså jasg vill med en sql query fördela de 100% på svaren. hoppas det går att förstå
LarsGMedlem sedan dec. 200012 464 inlägg Vad betyder siffrorma
2 7 X
2 0 X
2 1 X
att 7 stycken har svarat ett alternativ
att 0 stycken har svarat ett (annat) alternativ
att 1 stycken har svarat ett (tredje) alternativ
?
Om det är så, hur vet du vilka svar som hör ihop med vilket alternativ? Om du inte vet det så kan du aldrig göra din uppdatering med en fråga.
hehe jag menar såhär
10personer har svarat på fråga 2
19 personer har svarat på fråga 3
det jag vill är att uppdatera kolumnen som heter AnswerPercent med hur många procent det är. Alltså hur många procent 7 utgör av alla som svarat på fråga två.
det måste vara bra förklarat. När man kör den här sql satsen så ska alla AnswerPercent uppdateras för den frågan.
jag har även ett AnswerID
QID AnswerCOunt AnswerPercent
2 7 X
2 0 X
2 1 X
3 2 x
3 17 x
LarsGMedlem sedan dec. 200012 464 inlägg UPDATE PollAnswers
SET AnswerPercent = AnswerCount/
(select count(*) from pollanswers where id = 2)
WHERE ID = 2
Om du vill updatera för alla ID på en gång
UPDATE PollAnswers pa
SET AnswerPercent = AnswerCount/
(select count(*) from pollanswers where id = pa.id)
10personer har svarat på fråga 2
7 + 0 + 1 = 8
?
Operationen måste använda en fråga som kan uppdateras. JAg får inte till det där med (select count(*) from .... hur skriver man det egentligen i access
@ndersMedlem sedan juni 200032 969 inlägg Om du söker lite på felmeddelandet kan det hända att du får någon träff som har med säkerhetsinställningar att göra.
ja fattar dock inte vad jag ska ändra till..
Alltså det funkar att uppdatera enkla UPDATE querys typ
UPDATE PollAnswers SET AnswerPercent = 3
varför funkar det inte när jag vill göra
UPDATE pbpoll.Pollanswers SET AnswerPercent = xxx/(select count(*) from Tabell)
så borde inte ha något med behörigheter när det går att uppdater och lägga in värden i första frågan,. är det något med sub querys eller liknande?