MSSql(Compact)DELETE-Query with JOIN

时间:2012-09-21 07:26:08

标签: sql left-join sql-server-ce sql-delete

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

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

有人可以帮我在紧凑型数据库的vaid mssql查询中转换此查询吗? 表演非常重要。

2 个答案:

答案 0 :(得分: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)

See SQLFiddle Example

答案 1 :(得分:4)

DELETE FROM AgentResultLinks 
where ResultID not in(select distinct ID from Results)