連絡先テーブルとaccounts_contacts結合テーブルを使用して、MySQLで重複したクリーンアップクエリを実行しようとしています。クエリをSELECTクエリとして機能させていますが、それをUPDATEにしようとすると、非常に不特定のエラーが発生します。
#1064-SQL構文にエラーがあります。'FROM sugarDB.contacts INNER JOIN(SELECT dupIDs.id FROM(SELECT ct' at line 3)の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。
クエリは次のとおりです。
UPDATE ctUpdate
SET ctUpdate.deleted = 1
FROM sugarDB.contacts AS ctUpdate
INNER JOIN (
SELECT dupIDs.id
FROM (
SELECT ctIDs.id
FROM sugarDB.contacts AS ctIDs
INNER JOIN (
SELECT ctSource.first_name,
ctSource.last_name
FROM sugarDB.contacts AS ctSource
GROUP BY ctSource.first_name,
ctSource.last_name
HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC
)
AS ctSource
ON ctIDs.first_name = ctSource.first_name
AND ctIDs.last_name = ctSource.last_name
)
AS dupIDs
LEFT JOIN sugarDB.accounts_contacts AS a2cIDs
ON dupIDs.id = a2cIDs.contact_id
WHERE a2cIDs.id IS NULL
)
AS dupIDs
ON ctUpdate .id = dupIDs.id
;
私は数日間それを注ぎました、そして私はエラーを見つけることができません。どんな助けでも大歓迎です!