SQL Server の DELETE ステートメント内で INNER JOIN を使用すると、構文エラーが発生する場合があります。 最も一般的なエラー「キーワード 'INNER' 付近の構文が正しくありません」は、削除対象のテーブルの指定があいまいであることが原因で発生します。
解決策は、テーブルのエイリアスを使用することです。 これにより、行を削除するテーブルが明示的に指定されます。 修正された例は次のとおりです:
<code class="language-sql">DELETE w FROM WorkRecord2 w INNER JOIN Employee e ON w.EmployeeRun = e.EmployeeNo WHERE e.Company = '1' AND w.Date = '2013-05-06'</code>
この改訂されたクエリでは、「w」は WorkRecord2
テーブルのエイリアスとして機能します。 これにより、DELETE 操作の影響を受けるテーブルが明確に指定され、構文エラーが防止され、ステートメントが正しく実行されることが保証されます。 次に、WHERE
句は、両方のテーブルに関係する条件に基づいて、削除する行をフィルタリングします。
以上がSQL Server の DELETE ステートメントで INNER JOIN を正しく使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。