![](/img/trans.png)
[英]Is there a way to delete all the rows in a table using c# and MS Access?
[英]Proper way to filter a table using values in another table in MS Access?
我有一个包含一些交易ID和员工编号的交易表。 我还有另外两个表,它们基本上只是一个需要从第一个过滤掉的事务或员工的列。
我一直在运行我的查询:
SELECT * FROM TransactionMaster
Where TransactionMaster.TransID
NOT IN (SELECT TransID from BadTransactions)
AND etc...(repeat for employee numbers)
我注意到在运行这些类型的查询时性能下降。 我想知道是否有更好的方法来构建此查询?
如果您想要所有在BadTransactions
不包含TransID
匹配的TransactionMaster
行,请使用LEFT JOIN
并仅请求BadTransactions.TransID Is Null
(不匹配)的行。
SELECT tm.*
FROM
TransactionMaster AS tm
LEFT JOIN
BadTransactions AS bt
ON tm.TransID = bt.TransID
WHERE bt.TransID Is Null;
TransID
索引时,该查询应该相对较快。
如果您有Access可用,请使用“不匹配的查询向导”创建新查询。 它将指导您完成创建类似查询的步骤。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.