Häpp, dags att skämma ut sig lite med min inkompetens.
Ur en databas skulle jag vilja hämta antalet medlemmar i tre olika medlemsgrupper. Dessa grupper skiljs åt med hjälp av värdet "roleID". Jag funderar på om man kan göra SQL-frågorna och därefter placera dessa summeringar i en array eller om man måste göra tre separata SQL-frågor, med tre separata recordset?
Det jag skulle vilja göra är alltså att placera resultatet av följande tre SQL-frågor i en array.
strSQL = "SELECT COUNT(""userid"") FROM t_users WHERE roleID = 1 AND official = -1"
[petas in i arrayen på rad 1] = objConn.Execute(strSQL)
strSQL = "SELECT COUNT(""userid"") FROM t_users WHERE roleID = 2 AND official = -1"
[petas in i arrayen på rad 2] = objConn.Execute(strSQL)
strSQL = "SELECT COUNT(""userid"") FROM t_users WHERE roleID = 3 AND official = -1"
[petas in i arrayen på rad 3] = objConn.Execute(strSQL)
Tyvärr är jag dålig på hur sql-dialekten ser ut i MS SQL 2000.
Det beror på vad du menar med nestlade frågor. Att hämta data och köra ytterligare en sql-fråga i loopen bör man dock undvika. Är det detta du menar med nestlade frågor? Jag skulle inte tro att det skulle vara någon nackdel att köra dina tre count() i en och samma fråga, i jämförelse med att köra tre separata frågor.
Som sagt, jag lämnar inga garantier för att hjärnan har förstått dig rätt
Trodde du möjligen kunde lösa ditt problem liknande nedan:
Sub Selectgrupp(ByVal strRoleID)
'// Posthantering
arrRecords = GetRows("SELECT COUNT(""userid"") FROM t_users WHERE roleID = "&strRoleID&" AND official = -1")
'// Posthantering
If IsArray(arrRecords) THEN
For i = 0 To Ubound(arrRecords,2)
'// Skriver ut detaljerna om varje id
Response.Write arrRecords(0,i)
Next
End If
End Sub
%>
<% Call Selectgrupp("1") %>
<% Call Selectgrupp("2") %>
<% Call Selectgrupp("3") %>