totalt antal i fler kolumner

ASP

3 svar · 311 visningar · startad av golgata

Medlem sedan maj 2000131 inlägg
Trådstart#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

262 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)