我想显示来自服务的所有记录,如果它们在service_overview中兴奋的话。但它只显示了3张唱片,因为它们是service_overview中唯一没有被选中的唱片。
SELECT *
FROM services
LEFT JOIN service_overview ON service_overview.ServiceID = services.serviceID
WHERE service_overview.OverviewID IS NULL OR service_overview.OverviewID = 1
ORDER BY services.serviceID它返回这,因为您可以看到它并不返回服务服务的1、3、4、5中的所有记录。
发布于 2017-11-06 12:31:52
您需要将条件放在ON子句中,而不是WHERE子句中:
SELECT *
FROM services s LEFT JOIN
service_overview so
ON so.ServiceID = s.serviceID AND so.OverviewID = 1
ORDER BY s.serviceID;查询的问题是,它过滤掉了具有OverviewID而不是1的服务--除非它们也有1。
https://stackoverflow.com/questions/47137109
复制相似问题