访问查询以根据复杂条件删除数据

时间:2015-12-23 19:58:26

标签: sql ms-access access-vba ms-access-2013

我正在使用Access 2013.我有一个表名 - Raw,其字段是:

requestid   - Number
Formname    - Short Text
Timestamp   - Date/Time
Type        - Short Text
ActionBy    - Short Text

Raw表包含所有数据。相同的请求ID将具有不同的Typesactionby。我想删除那些请求ID的所有行,其中特定请求ID的任何actionby与我的用户不匹配。如果匹配,请保留所有行。

示例 - 在屏幕截图中,请求ID 27176正在使用Ciaran。因此,它不应删除请求ID 27176的任何行。

但是对于请求ID 27434,ciaran不在Actionby中,所以删除27176的所有行。希望我能够瞥见我需要的东西。 Raw Table Data

1 个答案:

答案 0 :(得分:1)

您可以使用NOT IN和一些字符串操作识别要删除的那个:

delete from raw as r
    where requestid not in (select requestid
                            from raw as r2
                            where r2.ActionBy = "Harford, Claran" and
                                  r2.requestid = r.requestid
                           );