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