RikardMedlem sedan dec. 199917 055 inlägg 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)
K@llenMedlem sedan mars 20032 667 inlägg Vad använder du för databashanterare? Borde gå att göra i samma fråga med lite subselects om nu din dbms har stöd för det. :)
RikardMedlem sedan dec. 199917 055 inlägg MS SQL 2000.
Subselects? Menar du nestlade select-frågor? Om så är fallet har jag för mig att man ska undvika det?
K@llenMedlem sedan mars 20032 667 inlägg 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.
RikardMedlem sedan dec. 199917 055 inlägg Med nestlad menar jag en SELECT-sats i en SELECT-sats. Jag tror att det var emission som nämnde det vid något tillfälle. :)
Tack för att du försökte i alla fall. :)
SannyWMedlem sedan jan. 2003438 inlägg Må detta bli en helt felaktig lösning, men skjuter från höften och presenterar den ändå. :r
Det går inte att du gör som här:
http://www.webforum.nu/showthread.php?s=&postid=1069760#post1069760
Att du hämtar de olika array med sub(roleId) ??
RikardMedlem sedan dec. 199917 055 inlägg Hm... där hängde jag inte med på vad det var du hänvisar till. :)
SannyWMedlem sedan jan. 2003438 inlägg 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") %>
LarsGMedlem sedan dec. 200012 464 inlägg SELECT roleName,COUNT(*)
FROM t_users
WHERE roleID in (1,2,3)
AND official = -1
group by roleName
Byt kolumnnamn där så är lämpligt.
Subselects? Menar du nestlade select-frågor? Om så är fallet har jag för mig att man ska undvika det?
Nys.
Flyttas från ASP
RikardMedlem sedan dec. 199917 055 inlägg Kalas LarsG, som vanligt när du är i farten!
Tackar!
Tack även SannyW för att du ansträngde dig. :)