我正在努力创建一个SQL查询来从Access数据库中选择一些记录(使用Excel VBA)。
其中一个表格的切割(我们称之为'table1')包含以下列:
| my_id | your_id | phase |
| 1 | 1 | Open |
| 2 | 1 | Close |
| 3 | 2 | Open |
| 4 | 3 | Close |
| 5 | 2 | Close |
| 6 | 3 | Open |
字段'my_id'将始终是唯一值,而'your_id'字段可能包含重复项。
我想要做的是从表中选择最新记录的'your_id',其中阶段为'关闭'。这意味着在上面的示例表中它将选择5,4和& 2。
希望这是有道理的,如果不是抱歉 - 我正在努力表达我的意思!
由于
答案 0 :(得分:1)
虽然从你的例子中你只是添加conditin作为phase ='Close'你会得到5,4和2的记录。但我假设可能有场景(不是在你的例子中)超过1对于任何给定的your_id,记录可以具有关闭状态,因此查询应该如下所示
Select * from table1 where my_id in (
Select Max(My_Id) from table1 where phase='Close' group by your_id)