【发布时间】:2021-04-12 22:37:19
【问题描述】:
我正在努力获得以下格式的输出: 例如
| Total | Roles | Month | Year |
--------------------------------
| 52 | Admin |January| 2012 |
| 0 | Tester|July | 2012 |
| 41 | HR |January| 2014 |
| 0 | TL |June | 2015 |
| 14 | VP |March | 2011 |
我有两个表(比如 users 和 userType),这里 users 表中的“type”列是对 userType 表的引用。
我想从右连接表中获取所有行,如果左表中没有值,那么它应该显示“0”。
请查看下面我尝试过的:
SELECT COALESCE(COUNT(u.`userId`),0) AS 'Total',r.`roleName` AS 'Role',COALESCE(MONTH(u.`userOn`),0) AS 'Month', COALESCE(YEAR(u.`userOn`),0) AS 'Year' FROM `users` u RIGHT JOIN `usertype` r ON u.`userRole` = r.`roleId` WHERE YEAR(`userOn`) > 2011 and u.`userRole` = r.`roleId` GROUP by r.`roleName`;
如何获取所提供输出的查询?
【问题讨论】:
-
请注意,没有人使用 RIGHT JOIN
标签: mysql sql join foreign-keys