Just nu i M3-nätverket
Gå till innehåll

Slå ihop två frågor till en


lisbet

Rekommendera Poster

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

 

Länk till kommentar
Dela på andra webbplatser

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)

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...