私の設定では、StudyとActivity_Historyの2つのテーブルがあります。活動は研究で実行されるため、1:多くの関係があります。
Activity_HistoryテーブルでSQLクエリを実行できるようにしたいのですが、これにより、アクティビティと以前に実行されたアクティビティが取得されます。私は現在これを持っています:
SELECT
*
FROM Activity_History AS A1
LEFT JOIN Activity_History AS A2
ON A2.Parent_Study_ID =
(
SELECT TOP 1 Parent_Study_ID
FROM Activity_History AS A3
WHERE A3.Parent_Study_ID = A1.Parent_Study_ID
AND A3.Activity_Date < A1.Activity_Date
ORDER BY Activity_Date DESC
)
これは機能していません。何が起こっているのかというと、クエリのActivity_Dateパーティをプルしても効果はなく、すべての行の日付の降順で最初に一致するActivity_Dateを返すだけです。これは、サブクエリでwhereでActivity_Dateを使用しているために発生していると思いますが、これはサブクエリselectでは使用されていません。
助けてくれてありがとう!