私は本当にこの問題を解決する方法のアイデアがなく、いくつかの支援が必要です-解決策だけでなく、アプローチする方法のアイデアも歓迎されます。
私は次の表を持っています:
TABLE Data
(
RecordID
,DateAdd
,Status
)
このようなサンプル日付で:
11 2012-10-01 OK
11 2012-10-04 NO
11 2012-11-05 NO
22 2012-10-01 OK
33 2012-11-01 NO
33 2012-11-15 OK
そして、この表には次のサンプルデータが含まれています。
TABLE Periods
(
PeriodID
,PeriodName
,DateStart
,DateEnd
)
1 Octomer 2012-10-01 2012-10-31
2 November 2012-11-01 2012-11-30
私がする必要があるのは、新しいテーブルにデータを入力することです。
TABLE DataPerPeriods
(
PeriodID,
RecordID,
Status
)
これにより、PeriodIDとRecordIDの可能なすべての組み合わせと、可能な場合は期間の最新のステータスが保存されます。与えられた期間のステータスが利用できない場合は、前の期間のステータス。以前のステータスがまったくない場合は、ステータスがNULLになります。
たとえば、次のデータでは、次のようなものが必要です。
1 11 NO //We have status "OK" and "NO", but "NO" is latest for the period
1 22 OK
1 33 NULL//Because there are no records for this and previous periods
2 11 NO //We get the previos status as there are no records in this periods
2 22 OK //There are not records for this period, but record for last periods is available
2 33 NO //We have status "OK" and "NO", but "OK" is latest for the period
編集:私はすでに最後のテーブルの期間IDとレコードIDを入力しました、私はステータスの更新についてもっと助けが必要です。