使用SQL查询连接两个表时,计算右表的行数

使用SQL查询连接两个表时,计算右表的行数,sql,Sql,我有一个关于SQL查询的问题。让我举个例子来说明我的问题: 我有两张这样的桌子: ID Role Role Description Cound of User 1 Administrator Someone in administrator board

我有一个关于SQL查询的问题。让我举个例子来说明我的问题: 我有两张这样的桌子:

ID Role Role Description Cound of User 1 Administrator Someone in administrator board 3 2 User Someone who has an account 3 3 Guess Someone who just view the website 3
select rol.*, usrCout as 'Count of User' from Roles rol
left join (select count(*) from Users where RoleID == rol.ID) usrCout;
角色表

ID Role Role Description 1 Administrator Someone in administrator board 2 User Someone who has an account 3 Guess Someone who just view the website ID Username RoleID 1 trind08 1 2 trind09 1 3 trind10 1 4 kimchi 2 5 linhchi 2 6 thanh01 2 7 thanh02 3 8 kiemanh 3 9 liemanh 3 但是我的查询运行失败,无法得到想要的结果。请帮我做这个

谢谢

尝试此查询

选择count(*)作为“用户计数”,r.RoleID,Role,Role中的角色描述,其中u.RoleID=r.Id按r.RoleID,Role,Role描述分组

希望这有帮助

尝试此查询

SELECT 
ID
,ROLE
,Role Description
,(SELECT COUNT(*) FROM Users where RoleID = rol.ID) AS UserCount
FROM Roles rol
选择count(*)作为“用户计数”,r.RoleID,Role,Role中的角色描述,其中u.RoleID=r.Id按r.RoleID,Role,Role描述分组


希望这有帮助

实际上,您的查询只计算表user中的所有用户,而不计算解析到特定角色的用户数。@tringyuendung它计算每个角色的用户数。试试小提琴,它演奏得很好。我得到了一个正确的结果。你的问题很符合我的问题。非常感谢您的帮助。实际上,您的查询只计算表user中的所有用户,而不计算解析到特定角色的用户数。@tringyuendung它计算每个角色的用户数。试试小提琴,它演奏得很好。我得到了一个正确的结果。你的问题很符合我的问题。非常感谢你的帮助。它运行得很好。我坚定地得到了结果。您的查询中有一个拼写错误,是“==”而不是“=”,但我对它做了一点修改,工作就完成了。非常感谢你的帮助。它运行得很好。我坚定地得到了结果。您的查询中有一个拼写错误,是“==”而不是“=”,但我对它做了一点修改,工作就完成了。非常感谢你的帮助。
SELECT 
ID
,ROLE
,Role Description
,(SELECT COUNT(*) FROM Users where RoleID = rol.ID) AS UserCount
FROM Roles rol