webForumDet fria alternativet

totalt antal i fler kolumner

ASP

3 svar · 297 visningar · startad av golgata

Medlem sedan maj 2000131 inlägg
Frågan#1

Jag har följande sql sats för att räkna ihop antalet i en kolumn. Nu har jag 16 kolumnen som var och en ska räknas ihop och visa 16 olika summeringar. Behöver jag göra 16 sql satser då? eller kan man göra det på något enklare sätt?

SQL = "Select count(*) as antal from tabell where kolumn1 = 1 and id = " & tmpId  &  ""
Set Rs1 = Connect.Execute(SQL)

SQL = "Select count(*) as antal from tabell where kolumn2 = 1 and id = " & tmpId  &  ""
Set Rs2 = Connect.Execute(SQL)
Medlem sedan juni 20019 519 inlägg
#2

Group by borde väl gå? (Är en SQL fråga inte en ASP fråga)

Medlem sedan dec. 200012 464 inlägg
#3
sql = "Select sum(case when kolumn1 = 1 then 1 else 0 end) as antalKolumn1, " & _
  " sum(case when kolumn2 = 1 then 1 else 0 end) as antalKolumn2,
...
  "sum(case when kolumn16 = 1 then 1 else 0 end) as antalKolumn16
  " from tabell " & _
  " where 1 in (kolumn1,kolumn2, ... kolumn16) " &
  " and id = " & tmpId

eller kan man göra det på något enklare sätt?

Jo, om du ändrar datamodellen så att du inte har repeterande kolumner

Medlem sedan maj 2000131 inlägg
#4

hur skulle jag ändra datamodellen då?
Har inte jobbat med så många kolumner tidigare. men jag måste få in 16 olika värden

254 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)