5

我有这个查询。我想从 AgentsResultLinks-Table 中删除所有没有指向 Results-Table 中实体的链接的实体。我想要一个单一查询的解决方案。我收到由“*”引起的错误。

DELETE AgentResultLinks.*
FROM AgentResultLinks LEFT JOIN Results 
ON AgentResultLinks.ResultID = Results.ID
WHERE Results.ID IS NULL

有人可以帮我将此查询转换为紧凑型数据库的 vaid mssql 查询吗?性能非常重要。

4

2 回答 2

9

只需.*AgentResultLinks.*

DELETE Agent
FROM AgentResultLinks Agent 
LEFT JOIN Results R
       ON Agent.ResultID = R.ID
WHERE R.ID IS NULL;

请参阅DELETE语法:DELETE (Transact-SQL)

请参阅 SQLFiddle 示例

于 2012-09-21T07:27:37.583 回答
4
DELETE FROM AgentResultLinks 
where ResultID not in(select distinct ID from Results)
于 2012-09-21T08:06:47.543 回答