使用可能なすべてのキーを取得しようとしています。つまり、返されたキー(return_dateがnullではない)、キーが失われていない(lost_key = false)、および以前にレンタルされたことがないキー(idがnull)を意味します。ただし、これを実行すると、0回の受信が発生します。id条件を削除すると、以前にレンタルされたキーのみが取得され、keyActivityテーブルにないすべてのキーが無視されます。誰かが私が間違っていることを知っていますか?
SELECT a.key_id, a.drawer_num
FROM
keys AS a
left outer JOIN keyActivity AS b
ON a.key_id = b.key_id
WHERE
return_date is not null
and lost_key =false
and id is null;
使用したソリューション:
SELECT a.key_id, a.drawer_num
FROM keys AS a LEFT JOIN keyActivity AS b ON a.key_id = b.key_id
WHERE (b.return_date is not null
and b.lost_key =false)
OR b.id is null;