如何在 SQL Server 中使用 INNER JOIN 进行删除?

38 浏览
0 Comments

如何在 SQL Server 中使用 INNER JOIN 进行删除?

我想在SQL Server 2008中使用INNER JOIN删除数据。

但是我遇到了以下错误:

Msg 156, Level 15, State 1, Line 15

关键词\'INNER\'附近语法不正确。

我的代码:

DELETE 
FROM WorkRecord2 
INNER JOIN Employee 
        ON EmployeeRun=EmployeeNo
WHERE Company = '1' 
    AND Date = '2013-05-06'

admin 更改状态以发布 2023年5月22日
0
0 Comments

只需在 DELETEFROM 之间添加要删除记录的表名,因为我们必须指定要删除的表。此外,删除记录时不存在任何排序,因此请删除 ORDER BY 子句。

因此,您的最终查询应如下所示:

    DELETE WorkRecord2 
      FROM WorkRecord2 
INNER JOIN Employee 
        ON EmployeeRun=EmployeeNo
     WHERE Company = '1' 
       AND Date = '2013-05-06';

0
0 Comments

您需要指定要删除哪个表。以下是带别名的版本:

DELETE w
FROM WorkRecord2 w
INNER JOIN Employee e
  ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'

0