SQL = "select count(*) as antalbokningar3 from Bokningar where Kung='1' AND Kollad='0'"
Set RS = Conn.Execute(SQL)
antalbokningar3 = rs("antalbokningar3")
rs.close
SQL = "select count(*) as antalbokningar4 from Bokningar where Kung='1' AND Kollad='1' AND Bokningsdatum > '" & DateAdd("d",-14,Now) & "'"
Set RS = Conn.Execute(SQL)
antalbokningar4 = rs("antalbokningar4")
rs.close
SQL = "select count(*) as antalbokningar5 from Bokningar where Kung='1' AND Kollad='2'"
Set RS = Conn.Execute(SQL)
antalbokningar5 = rs("antalbokningar5")
rs.close
Sidan forsätter till antalbokningar9... så det är mycket som måste räknas.. kan detta göras i en och samma sqlfråga?
SQL = "SELECT " & _
"(select count(*) from Bokningar where Kung='1' AND Kollad='0') AS AntalBok3, " & _
"(select count(*) from Bokningar where Kung='1' AND Kollad='1' AND Bokningsdatum > '" & DateAdd("d",-14,Now) & "') AS AntalBok4, " & _
"(select count(*) from Bokningar where Kung='1' AND Kollad='2') AS AntalBok5 " & _
" FROM Bokningar "
select kollad,count(*)
from bokningar
where kollad in ('0','2') and kung = '1'
group by kollad
union
select '1',count(*)
from bokningar
where kollad = '1' and kung = '1'
Flyttas från ASP
Red, eftersom det är Mysql så finns det inte Union heller. Dela upp det i två frågor.
Cyprys:
Din fråga skulle returnera lika många rader som det finns i tabellen.
set rs = connect.execute ( _
"select kollad,count(*) "
" from bokningar "
" where kollad in ('0','2') and kung = '1' "
" group by kollad "
så kommer du att få en rad med två kolumner för varje olika värde på kollad. Om du vill söka på fler värden än '0' och '2' så är det bara att lägga till dom i in-listan.
Eftersom du har olika where-villkor i dina frågor så måste du dela upp det i åtminstone två anrop. Du beskriver ju inte exakt hur resten av frågorna ser ut så jag kan inte uttala mig mer exakt.
SQL = "select count(*) as antalbokningar from Bokningar Where Kollad <> '3'"
Set RS = Conn.Execute(SQL)
antalbokningar = rs("antalbokningar")
rs.close
SQL = "select count(*) as antalbokningar2 from Bokningar where Kung='1' AND Kollad <> '3'"
Set RS = Conn.Execute(SQL)
antalbokningar2 = rs("antalbokningar2")
rs.close
SQL = "select count(*) as antalbokningar3 from Bokningar where Kung='1' AND Kollad='0'"
Set RS = Conn.Execute(SQL)
antalbokningar3 = rs("antalbokningar3")
rs.close
SQL = "select count(*) as antalbokningar4 from Bokningar where Kung='1' AND Kollad='1' AND Bokningsdatum > '" & DateAdd("d",-14,Now) & "'"
Set RS = Conn.Execute(SQL)
antalbokningar4 = rs("antalbokningar4")
rs.close
SQL = "select count(*) as antalbokningar5 from Bokningar where Kung='1' AND Kollad='2'"
Set RS = Conn.Execute(SQL)
antalbokningar5 = rs("antalbokningar5")
rs.close
SQL = "select count(*) as antalbokningar6 from Bokningar where Kollad='3'"
Set RS = Conn.Execute(SQL)
antalbokningar6 = rs("antalbokningar6")
rs.close
SQL = "select count(*) as antalbokningar7 from Bokningar where Kung='1' AND Kollad='1' AND Bokningsdatum < '" & DateAdd("d",-14,Now) & "'"
Set RS = Conn.Execute(SQL)
antalbokningar7 = rs("antalbokningar7")
rs.close
SQL = "select count(*) as antalbokningar8 from Bokningar where Kung='1' AND Kollad='40'"
Set RS = Conn.Execute(SQL)
antalbokningar8 = rs("antalbokningar8")
rs.close
SQL = "select count(*) as antalbokningar9 from Bokningar where Kung='1' AND Kollad='40' AND paminnelseskickad < '" & DateAdd("d",-14,Now) & "'"
Set RS = Conn.Execute(SQL)
antalbokningar9 = rs("antalbokningar9")
rs.close
SQL = "select count(*) as antalbokningar10 from Bokningar where Kung='1' AND Kollad='50'"
Set RS = Conn.Execute(SQL)
antalbokningar10 = rs("antalbokningar10")
rs.close
SQL = "select count(*) as antalbokningar11 from Bokningar where Kung='1' AND sistamin='1' AND Kollad <> '3'"
Set RS = Conn.Execute(SQL)
antalbokningar11 = rs("antalbokningar11")
rs.close