gpt4 book ai didi

sql-server - 使用内部联接的 TSQL 删除

转载 作者:行者123 更新时间:2023-12-03 13:10:18 24 4
gpt4 key购买 nike

以下 SQL 语句在我的数据库上执行良好:

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 语句中使用 Joins 吗?

如果不是我如何执行上述删除?

编辑

表 tblKeyPointLinks 是一个中间表,用于在 tblKPI 和 tblKeyPoints 之间建立多对多关系。因此,SELECT 语句不止一次返回 tblKPI 中的一些条目。这就是 DELETE 语句可能有问题的原因吗?解决此问题的最佳方法是什么?

最佳答案

是的,您可以在删除语句中加入:

DELETE k 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;

关于sql-server - 使用内部联接的 TSQL 删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11714193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com