webForumDet fria alternativet

Förenkling av sql-kod

3 svar · 253 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#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
LarsGMedlem sedan dec. 200012 464 inlägg
#2
select count(memberid),sum(active),sum(case when active =  0 then 1 else 0 end) from members
doggelitoMedlem 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.
doggelitoMedlem 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!

131 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)