マイコード
Access クエリがあります。
SELECT DISTINCT [Request-Priority, ALL_Q].RequestID, "Awaiting Approval" AS RequestStatus
FROM [Request-Priority, ALL_Q] LEFT JOIN LIST_RequestBurndown_Q ON [Request-Priority, ALL_Q].RequestID = LIST_RequestBurndown_Q.RequestID
WHERE (((LIST_RequestBurndown_Q.MilestoneStatus)="Awaiting Approval") AND (([Request-Priority, ALL_Q].[Completed on]) Is Null))
UNION
SELECT DISTINCT [Request-Priority, ALL_Q].RequestID, "Blocked (see notes)" AS RequestStatus
FROM [Request-Priority, ALL_Q] LEFT JOIN LIST_RequestBurndown_Q ON [Request-Priority, ALL_Q].RequestID = LIST_RequestBurndown_Q.RequestID
WHERE (((LIST_RequestBurndown_Q.MilestoneStatus)="Blocked (see notes)") AND (([Request-Priority, ALL_Q].[Completed on]) Is Null))
UNION
SELECT DISTINCT [Request-Priority, ALL_Q].RequestID, "Completed - Awaiting Rollout" AS RequestStatus
FROM [Request-Priority, ALL_Q] LEFT JOIN LIST_RequestBurndown_Q ON [Request-Priority, ALL_Q].RequestID = LIST_RequestBurndown_Q.RequestID
WHERE (((LIST_RequestBurndown_Q.MilestoneStatus)="Completed") AND (([Request-Priority, ALL_Q].[Completed on]) Is Null));
クエリの基本概念... 個々のマイルストーンのステータス ( LIST_RequestBurndown_Q.MilestoneStatus
) に基づいて、RequestID の全体的なステータスを決定します ( [Request-Priority, ALL_Q].RequestID
)。
私の問題
一部の RequestID では、複数のステータスにマイルストーンが存在します。たとえば、次のような結果が得られる場合があります。
RequestID RequestStatus
123 Awaiting Approval
243 Blocked
243 Awaiting Approval
243 Completed - Awaiting Rollout
542 Awaiting Approval
私がやりたいのは、RequestStatus
表示される「優先順位付け」で、 ごとに 1 つのレコードしかありませんRequestID
。
ORDER BY
、WHERE
、を使用してこれを行う方法を考えようとしてきましたがDISTINCT ON
、可能性のあるステータスオプションと関連する優先度のテーブルを作成して使用することもできますMAX
が、この時点ではこれを考えすぎています。どんな助けでも大歓迎です!