2012 年より前に作成され、ホテル ID '1' に属し、関連テーブル 'taskinstance' に 1 つのレコードしかないテーブル 'people' のレコードを削除する必要があります。テーブルは次のように関連付けられています: people.id = taskinstance.idClient. 次の構文エラーが発生します。
DELETE people FROM taskinstance people
INNER JOIN
(SELECT *
FROM taskinstance
WHERE substring(people.dateCreated,1,4) < 2012 and people.idHotel = '1'
GROUP BY taskinstance.idClient
HAVING COUNT(*) = 1) taskinstance
ON people.id = taskinstance.idClient
レコードを表示したいだけの場合は、次のように機能します。
SELECT *
FROM people
INNER JOIN taskinstance ON people.id = taskinstance.idClient
WHERE substring(people.dateCreated,1,4) < 2012 and people.idHotel = '1'
GROUP BY people.id
HAVING COUNT(1) = 1
ご協力いただきありがとうございます。