0

おそらく私のタイトルは誤解を招く可能性がありますが、これを他にどのように表現すればよいかわかりません。tblL と tblDumpER の 2 つのテーブルがあります。これらは、フィールド SubjectNumber に基づいて結合されます。これは、1 (tblL) 対多 (tblDumpER) の関係です。

すべてのサブジェクトについて、tblL の日付に関連付けられた tblDumpER の値を取得するクエリを作成する必要があります。これは言うことです:

SELECT tblL.SubjectNumber, tblDumpER.ER_Q1
FROM tblL
LEFT JOIN tblDumpER ON tblL.SubjectNumber=tblDumpER.SubjectNumber
WHERE tblL.RandDate=tblDumpER.ER_DATE And tblDumpER.ER_Q1 Is Not Null

これは簡単です。私の問題は、tblL の RandDate の値が被験者ごとに異なることです。ただし、すべての被験者の Day1 として tblDumpER.ER_Q1 を使用できるように、Day1 として表示する必要があります。次に、null または Day84 に到達するまで、RandDate+1 As Day2 などが必要です。「愚かな」解決策は、84 個のクエリを作成することです。これは明らかに実用的ではありません。どんなアドバイスでも大歓迎です!

これまでの回答に感謝しますが、これを正しく説明しているとは思わないため、データの例を次に示します。

SubjectNumber RandDate

1001 2013年 1 月 1 日
1002 2013 年 1 月 8 日
1003 2013年 1 月 15 日

件名番号 ER_DATE ER_Q1

1001 2013 年 1 月 1 日 5
1001 2013 年 1 月 2 日 6
1001 2013 年 1 月 3 日 2
1002 2013 年 1 月 8 日 1
1002 2013 年 1 月 9 日 10
1002 2013 年 1 月 10 日 8
1003 2013 年 1 月 15 日 7
1003 2013 年 1 月 16 日4
1003 2013 年 1 月 17 日 3

望ましい結果: (Day1=RandDate、Day2=RandDate+1、Day3=RandDate+2)

件名番号 Day1_ER_Q1 Day2_ER_Q1 Day3_ER_Q1

1001 5 6 2
1002 1 10 8
1003 7 4 3

このデータは、X 軸が Day#、Y 軸が ER_Q1 のグラフにプロットされます。

4

2 に答える 2

0

何が必要なのかはよくわかりませんが、カレンダーの表が役立つかもしれません。その年のすべての日を含むローカル テーブルを作成し、そのテーブルを使用して日付を結合しますか?

于 2013-10-09T18:49:40.363 に答える