为了账号安全,请及时绑定邮箱和手机立即绑定

如何删除与SQLServer的内部连接?

如何删除与SQLServer的内部连接?

撒科打诨 2019-08-03 12:03:19
如何删除与SQLServer的内部连接?我想删除使用INNER JOIN在……里面SQLServer 2008.但我知道这个错误:MSG 156,15级,状态1,15号线不正确的语法靠近关键字‘内部’。我的代码:DELETE FROM WorkRecord2  INNER JOIN Employee ON EmployeeRun=EmployeeNoWHERE Company = '1' AND Date = '2013-05-06'
查看完整描述

3 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

您需要指定要从哪个表中删除,下面是一个带有别名的版本:

DELETE wFROM WorkRecord2 wINNER JOIN Employee e  ON EmployeeRun=EmployeeNoWHERE Company = '1' AND Date = '2013-05-06'


查看完整回答
反对 回复 2019-08-05
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

只需在DELETEFROM从哪里删除记录,因为我们必须指定要删除的表。也移除ORDER BY子句,因为在删除记录时没有什么可订购的。

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

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



查看完整回答
反对 回复 2019-08-05
?
心有法竹

TA贡献1866条经验 获得超5个赞

可能这对你有帮助-

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 ....)




查看完整回答
反对 回复 2019-08-05
  • 3 回答
  • 0 关注
  • 304 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信