私はjob
テーブルとテーブルを持っていvisit
ます。ジョブは複数の訪問を持つことができます。有給として設定されていないすべての仕事を取得し、その仕事に関連付けられたすべての訪問を完了として取得する必要があります。
基本的に、次の場合にのみジョブを取得する必要があります。
- 支払われていない
(paid = 'N')
- そのジョブに関連付けられたすべての訪問が完了として設定されます
(status = 2)
明らかに、次のことを行うと、次のような結果が返されるため機能しませんjob.paid = 'N' and visit.status = '2'
。
SELECT *
FROM job INNER JOIN visit
ON job.id = visit.job_id
WHERE job.paid = 'N' AND
visit.status = 2;
結果を取得し、追加のクエリを実行して、ジョブのすべての訪問が完了したことを確認できますが、単一のクエリでデータを取得できるかどうか疑問に思っていました。