我在加入两个 mysql 表并获得我想要的结果时遇到了一些麻烦。
我有两个表,用户表和时间表。用户表有 id & name 。时间表有 user_id 和 minutesSpent。我想以名称和时间列作为结果集的所有用户的时间。但是对于某些特定日期,所有用户 ID 都不在时间表中。因此,对于此类用户,我需要 null 值。
我尝试了几个查询,但每次我只获得时间表中可用的 user_ids 的时间。没有将其他 user_id 的时间设为 null :(
SELECT `users`.`name`,SUM(`times`.`minutesSpent`) AS `Total`
FROM `users`
LEFT OUTER JOIN `times` ON `users`.`id` = `times`.`user_id`
WHERE DATE(`date`) = '2015-06-03'
GROUP BY `users`.`name`
&我也试过这个查询
SELECT `users`.`name`,SUM(`times`.`minutesSpent`) AS `Total` ,CASE WHEN times.user_id IS NULL THEN 0 ELSE 1 END
FROM `users`
INNER JOIN `times` ON `users`.`id` = `times`.`user_id` AND `users`.`isTimeEnable` = 0
WHERE DATE(`date`) = '2015-06-03'
GROUP BY `users`.`name`
如果有人帮我解决这个问题,那就太好了。谢谢