下面的SQL语句执行罚款,我的数据库:TSQL删除使用内部联接
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语句中使用连接吗?
如果不是我如何执行上面的Delete?
EDIT
表tblKeyPointLinks为中间表建立tblKPIs和tblKeyPoints之间的多对多的关系。因此SELECT语句不止一次返回tblKPIs中的一些条目。这就是为什么DELETE语句可能有问题吗?解决此问题的最佳方法是什么?
什么版本的SQL?语法各不相同。你删除AS k。 – Paparazzi 2012-07-30 01:04:41