sql - 使用左连接执行 MS Access 删除查询时出错
问题描述
我正在尝试运行以下删除查询来删除与订单无关的部分:
DELETE tblParts.ID
FROM tblParts
LEFT JOIN tblOrders ON tblParts.ID = tblOrders.PartID
WHERE ((tblOrders.OrderID) Is Null);
如果我使用数据表视图或 SELECT 查询而不是 DELETE,则查询将返回我希望在那里的记录。如果我尝试运行查询,则会收到以下错误:
指定包含要删除的记录的表。
FROM 语句不是告诉 Access 要从哪个表中删除吗?我的删除查询语法不正确吗?
解决方案
DELETE
FROM tblParts
WHERE NOT EXISTS
(
SELECT '1'
FROM tblOrders
WHERE tblOrders.PartID = tblParts.ID
);
推荐阅读
- javascript - 使用 Angular JS 生成动态 HTML id
- asp.net - 在 Visual Basic 中在 2 行上显示字符串
- java - 如何使用时间戳字段按天对实体列表进行分组?
- javascript - 任何证明微任务在渲染之前执行的示例?
- javascript - Uncaught SyntaxError: Missing ) 在参数列表之后,但没有额外的}?
- python - 为什么 py 和 python 给出不同的结果?
- php - PHP 或 HTML 或 CSS 图像从原始最大高度 100 缩放,但将宽度缩放为自动;
- c# - ASP.NET Core 3.1 和 Entity Framework Core:一对多的关系
- javascript - 如何以智能和干净的方式使用文件系统
- xaml - 如何将 Observable Collection 的整个元素绑定到 Xamarin Forms 中的 ContentView