SQL Server 2008**で、INNER JOIN
を使って削除したいのですが。
しかし、次のようなエラーが発生します。
Msg156、レベル15、ステート1、ライン15 キーワード 'INNER'の近くに誤った構文があります。
私のコードです。
DELETE FROM WorkRecord2
INNER JOIN Employee ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'
削除するテーブルを指定する必要があるので、DELETE
とFROM
の間にレコードを削除するテーブルの名前を追加してください。また、レコードを削除する際に順序付けするものがないので、ORDER BY
句も削除します。
つまり、最終的なクエリは次のようになります。
DELETE WorkRecord2
FROM WorkRecord2
INNER JOIN Employee
ON EmployeeRun=EmployeeNo
WHERE Company = '1'
AND Date = '2013-05-06';
これはあなたのために役立ちますか?
DELETE FROM dbo.WorkRecord2
WHERE EmployeeRun IN (
SELECT e.EmployeeNo
FROM dbo.Employee e
WHERE ...
)
または、こちらをお試しください - 。
DELETE FROM dbo.WorkRecord2
WHERE EXISTS(
SELECT 1
FROM dbo.Employee e
WHERE EmployeeRun = e.EmployeeNo
AND ....
)