lisbet Posted August 3, 2004 Share Posted August 3, 2004 Hej Jag har i dagsläget en sida där jag genom en loop listar alla användare som finns i systemet, anropar en stored procedure. För varje användare kör jag sedan en ny sql-fråga för att få fram hur många fel just denna användare har i en annan tabell, tbBugs. Tabellerna har en relation på användarid. Jag skulle vilja ha ut det som en enda fråga så att det blir möjligt att istället för att sortera det på namn så ska det sorteras efter antalet fel, den med flest antal fel står först och de med noll fel står sist. [log]SELECT u.intUserID , u.intCustomerID , u.intRoleID , u.vchFirstName , u.vchLastName , u.bitDeletedUser FROM tbUsers u WHERE 1=1 AND u.intCustomerID = 1 ORDER BY u.vchFirstName, u.vchLastName COLLATE Finnish_Swedish_CS_AS SELECT COUNT (*) AS 'count' FROM tbBugs WHERE 1=1 AND intCustomerID=1 AND intAssignedToUserID='" & rstUsers("intUserID") & "' AND bitBugWish <> 1[/log] Det är MS SQL Server. /Lisbet Link to comment Share on other sites More sharing options...
zwi Posted August 3, 2004 Share Posted August 3, 2004 Använd Join för att få allting samtidigt men då får varje fel en rad. SELECT tbBugs.fel, u.intUserID, u.IntCustomer, ..... JOIN tbBugs on u.intUserID = tbBugs.intUserID (kan inte garantera att det är rätt har inte gjort det själv än, bara leta reda på texten, någon som är mer haj kan ju rätta mig) Link to comment Share on other sites More sharing options...
lisbet Posted August 3, 2004 Author Share Posted August 3, 2004 Jag har försökt med join och kommit så långt som du föreslår, men jag vill ju inte ha en rad för varje fel... /Lisbet Link to comment Share on other sites More sharing options...
lisbet Posted August 3, 2004 Author Share Posted August 3, 2004 Hej, jag lyckades lösa det. [log]SELECT u.intUserID , u.intCustomerID , u.intRoleID , u.vchFirstName , u.vchLastName , u.bitDeletedUser , BugCount FROM tbUsers u INNER JOIN ( SELECT intAssignedToUserID, COUNT(*) AS BugCount FROM tbBugs GROUP BY intAssignedToUserID ) AS CountOfBugs ON CountOfBugs.intAssignedToUserID = u.intUserID WHERE 1=1 AND u.intCustomerID = 1 ORDER BY u.vchFirstName, u.vchLastName COLLATE Finnish_Swedish_CS_AS [/log] Kan det lösas på ett bättre/enklare sätt? /Lisbet Link to comment Share on other sites More sharing options...
zwi Posted August 3, 2004 Share Posted August 3, 2004 får du dem i storleksordning då? mest fel först? Link to comment Share on other sites More sharing options...
lisbet Posted August 3, 2004 Author Share Posted August 3, 2004 Inte om jag skriver som i exemplet ovan, men jag har ändrat det till [color="#0000ff"]ORDER BY[/color] BugCount [color="#0000ff"]DESC[/color], u.vchFirstName, u.vchLastName och då får jag ut det precis som jag ville. /Lisbet Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.