2017-11-06 7 views
0

service_overviewに居住していれば、すべてのレコードを表示したいと思います。しかし、3つのレコードしか表示されません。これは、service_overviewのレコードで選択されていない唯一のレコードだからです。あなたは、これがサービスservicidの1、3、4からすべてのレコードを返しません見ることができるようにSQLクエリはすべてのレコードを表示していません

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 

これは、this を返し5.

+0

ご使用のデータベースでご質問ください。 –

答えて

1

あなたは、ON句に条件を配置する必要はありませんWHERE句:

SELECT * 
FROM services s LEFT JOIN 
    service_overview so 
    ON so.ServiceID = s.serviceID AND so.OverviewID = 1 
ORDER BY s.serviceID; 

クエリでの問題は、それが1以外OverviewID持っているサービス除外していることである - を、彼らはまた、を持っていない限り、。

+0

あなたの知識のおかげでそれは完全に働いた –

関連する問題