webForumDet fria alternativet
Logga in / Bli medlem

Förenkling av sql-kod

Databaser & SQL

3 svar · 253 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Trådstart#1

Visst finns det väl nått smart sätt att slå ihop dessa till en sql-sats eller?

Set rs = get_recordset("Select count(Memberid) From Members")
If Not rs.Eof Then Member_total = rs(0)
Set rs = nothing

Set rs = get_recordset("Select count(Memberid) From Members Where Active = 1")
If Not rs.Eof Then Member_active = rs(0)
Set rs = nothing

Set rs = get_recordset("Select count(Memberid) From Members Where Active = 0")
If Not rs.Eof Then Member_not_active = rs(0)
Set rs = nothing
Medlem sedan dec. 200012 464 inlägg
#2
select count(memberid),sum(active),sum(case when active =  0 then 1 else 0 end) from members
Medlem sedan juni 20003 076 inlägg
#3

Attans!!

[Microsoft][ODBC SQL Server Driver][SQL Server]The sum 
or average aggregate operation cannot take a bit data type as an argument.
Medlem sedan juni 20003 076 inlägg
#4

Hööh, nu funkar det! vad är det som händer?!?!
Dock blev koden så här för att bli riktig:

select count(Memberid), sum(case when Active = 1 then 1 else 0 end), sum(case when Active = 0 then 1 else 0 end) from Members

Tack LarsG!

283 ms totalt · 4 externa anrop · v20260731065814-full.7d626504
151 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
151 ms — ändringar (db)