次のSQLステートメントは私のデータベースで正常に実行されます。
SELECT * FROM tblKPIs AS k
INNER JOIN tblKeyPointLinks AS l ON k.KPIID = l.KPIID
INNER JOIN tblKeyPoints AS p ON p.KptID = l.KptID
INNER JOIN tblHistory AS h ON h.HistoryID = p.HistoryID
WHERE h.CaseNo = 50043;
それでも、同等のDeleteステートメントはエラー「ASに近い構文」を与えますか?
DELETE FROM tblKPIs AS k
INNER JOIN tblKeyPointLinks AS l ON k.KPIID = l.KPIID
INNER JOIN tblKeyPoints AS p ON p.KptID = l.KptID
INNER JOIN tblHistory AS h ON h.HistoryID = p.HistoryID
WHERE h.CaseNo = 50043;
Deleteステートメントで結合を使用できませんか?
そうでない場合、上記の削除を実行するにはどうすればよいですか?
編集
テーブルtblKeyPointLinksは、tblKPIとtblKeyPointsの間に多対多の関係を確立するための中間テーブルです。したがって、SELECTステートメントはtblKPIの一部のエントリを複数回返します。これが、DELETEステートメントで問題が発生している理由ですか?これを回避するための最良の方法は何ですか?