webForumDet fria alternativet

Count problem

4 svar · 397 visningar · startad av wborg

wborgMedlem sedan dec. 2003209 inlägg
#1

Tja,

till att börja med så vill jag bara klargöra att jag är lite osäker på om detta är rätt forum eller om det skulle ha varit i SQL forumet, om så är fallet så kan väll någon moderator vara vänlig att flytta denna tråd dit.

Till problemet:

Jag har en Access databas i vilken jag har en tabell tbl_res som innehäller fälten AMT1 - AMT18, alla dessa AMT fält innehåller ett värde mellan 1 & 7.

Jag vill nu veta hur många 1:or dessa fält tillsammans innehåller och för att testa denna uträkning så använde jag följande kod:

<% Set Antal1Tot=Conn.Execute("Select Count(*) As ettor From tbl_res Where AMT1=1 AND AMT2=1 AND PlayerId ='"& strpID &"' ") %> 
<%= Antal1Tot("ettor") %>

Vad jag VET är att AMT1 innehåller 8st 1:or och AMT2 3st 1:or således borde ju resultatet av en korrekt Count bli 11 (8+3=11) men när jag kör koden så blir svaret istället 2.

Någon som ser vad jag gör för fel?

Tacksam för svar
/S

@ndersMedlem sedan juni 200032 969 inlägg
#2

Du frågar efter poster där både AMT1 har värdet 1 och AMT2 har värdet 1. Antagligen har du då bara två poster där båda de fälten innehåller 1?

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Flyttas från ASP

wborgMedlem sedan dec. 2003209 inlägg
#4

@nders du har så rätt!

Det var jag som tänkte galet, men hur gör jag då för att räkna ut hur många ettor det finns totalt i databasen på alla poster som heter AMT1 t.o.m. AMT18 ??

AND var ju helt galet att använda.

/S

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Det låter som din databasdesign är något off.

select sum(iif(amt1=1,1,0)) + sum(iif(amt2=1,1,0)) + ... + sum(iif(amt18=1,1,0)
 from t
124 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)