Ms access 查找具有相同日期的特定类型的记录

Ms access 查找具有相同日期的特定类型的记录,ms-access,Ms Access,我有一个从源程序接收事务的数据库。一旦事务进入数据库,就需要对其进行清理。事务被导入tblTransactions,并包含一个TxCode和一个TxDate字段。如果TxCode是“ABCD”或“WXYZ”,并且它们在同一日期,则我需要删除除一个之外的所有事务。我似乎找不到使用SQL语句查找彼此日期相同的特定类型的所有事务的方法。试试看 DELETE * FROM tblTransactions WHERE TxCode = "ICTS" AND transaction_date IN (

我有一个从源程序接收事务的数据库。一旦事务进入数据库,就需要对其进行清理。事务被导入tblTransactions,并包含一个TxCode和一个TxDate字段。如果TxCode是“ABCD”或“WXYZ”,并且它们在同一日期,则我需要删除除一个之外的所有事务。我似乎找不到使用SQL语句查找彼此日期相同的特定类型的所有事务的方法。

试试看

DELETE * FROM tblTransactions
WHERE TxCode = "ICTS" 
  AND transaction_date IN (SELECT transaction_date 
                           FROM tblTransactions
                           WHERE TxCode = "IRFC")`

好问题。。有多少不同的
TxCode
s?TxCode应该是*IRFC和*ICT。只有一个*IRFC交易,但可能有多个*ICTS交易。我需要找到所有在同一日期的*IRFC和*ICT实例,并删除除一个以外的所有实例。或者,如果流程更简单,我可以删除所有事务,然后在删除后插入单个事务。第二种方法当然更简单,但如何在删除后插入单个事务?如果您可以控制它,并且确信它是一个好的解决方案,那么删除您需要的内容应该不会有困难。在删除之后,我可以将*IRFC类型的事务插入表中。问题在于拆除。我仍然不知道如何找到同一日期的所有*IRFC和*ICT类型的交易。我可以根据一个特定的日期,或者在一系列日期之间选择它们,但如果它们的日期彼此相同,就不能选择。我想这比我最初说的要复杂一些。这需要在客户级别(HolderID字段)完成。每个客户都可以有IRFC和/或ICTS交易。如果客户在特定日期只有一个,则无需执行任何操作,但如果客户在同一日期有多个,则其中只有一个有效。除此之外,客户还可以有多个变体,1个IRFC和3个ICT,0个IRFC和6个ICT,1个IRFC和0个ICT,等等。因此,这两种交易都不需要对应的交易,尽管可能发生。