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)
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