0

Access データベースからいくつかのレコードを選択するための SQL クエリの作成に少し苦労しています (Excel VBA を使用)。

テーブルの 1 つのカット (「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 が選択されます。

これが理にかなっていることを願っています.

ありがとう

4

1 に答える 1

1

あなたの例からですが、where conditin as phase='Close' を追加するだけで、5,4 と 2 のレコードが取得されます。特定の your_id のステータスが Close であるため、クエリは次のようになります

 Select * from table1 where my_id in (
   Select Max(My_Id) from table1 where phase='Close' group by your_id)
于 2013-07-10T11:02:05.500 に答える