次のクエリは、入力が「完了」しているすべてのワークントを選択します (7 行目のサブクエリ)。これは正常に機能します...入力が1つしかない場合。入力の1つだけが存在するのではなく、すべての入力がサブクエリによって返されるセットである必要があるように、これを変更するにはどうすればよいですか?
SELECT workunits.ID
FROM workunits
LEFT JOIN workunitInputs ON workunits.ID = workunitInputs.workunitID
WHERE workunits.ID NOT IN (SELECT workunitID FROM jobworkunitassoc)
AND (
workunitInputs.inputID IN (
SELECT workunitOutputs.outputID
FROM workunitOutputs
LEFT JOIN workunits ON workunitOutputs.workunitID = workunits.ID
LEFT JOIN jobworkunitassoc ON workunits.ID = jobworkunitassoc.workunitID
LEFT JOIN jobs ON jobworkunitassoc.jobID = jobs.ID
WHERE jobs.done = 1
)
OR workunitInputs.inputID IS NULL
)
GROUP BY workunits.ID
ありがとう、イストヴァン。