SELECT b.PlateNumber, BusModel, Count(DISTINCT d.StaffID) AS NumberOfDirvers
FROM Bus b, Trip t, Driver d, Staff s
WHERE b.PlateNumber = t.PlateNumber
AND t.StaffID = d.StaffID
AND d.StaffID = s.StaffID
AND b.capacity = 72
AND EXTRACT(MONTH FROM s.DateOfBirth) BETWEEN '07' AND '12'
GROUP BY PlateNumber, BusModel;
显然有一些总线还没有任何驱动程序的任何旅程,但我的代码似乎无法显示驱动程序的数量为0.我该如何显示它?SQL子查询计数
问:
。总线容量,说72,找到一组具有指定容量公交车。
对于EVERY总线在集合,列表:
- (i)所述总线板数,
- (ii)所述模型,和
- (ⅲ)的独特的总数在7月至12月之间出生的司机,同时驾驶公共汽车(如果没有这样的司机,预期为0)。
考虑提供一些示例数据和预期的结果,以提高您的查询 - 理想的DDL和/或Sqlfiddle – Strawberry 2013-03-20 10:31:24