首页 > 解决方案 > 如何汇总 JOIN 查询的 NULL 结果

问题描述

我写了一个左连接查询,它返回所有的 NULL。

SELECT JourneyID,`TrainSeatID`, PassengerID FROM `TrainSeating` 
LEFT JOIN Passenger ON TrainSeating.TrainSeatID = Passenger.PassTrainSeatID
WHERE PassengerID IS NULL;

有谁知道我如何汇总这些 NULLS 并将总数包含在数据集中?

编辑:我想计算来自特定 JourneyID 的 NULL 返回量。

非常感谢!

标签: sql

解决方案


您可以使用COUNT()获取TrainSeating没有乘客的行数:

SELECT COUNT(*)
FROM TrainSeating LEFT JOIN
     Passenger
     ON TrainSeating.TrainSeatID = Passenger.PassTrainSeatID
WHERE PassengerID IS NULL;

编辑:

如果你想要这个,JourneyId那么聚合

SELECT ts.JourneyId, COUNT(*)
FROM TrainSeating ts LEFT JOIN
     Passenger p
     ON ts.TrainSeatID = p.PassTrainSeatID
WHERE p.PassengerID IS NULL
GROUP BY ts.JourneyId

推荐阅读