SQL Server 2008 に次のテーブル構造があります。
列: PersonID、DOSE1、DOSE2、DOSE3、..... DOSE12、YEAR
行の例: 123, 0.1, 0.0, 0.5, ..... 0.7, 2008
したがって、基本的には各月の列があり、次に列の年があります。
行には、その年の各月の線量値が含まれています。
私の望ましい出力は次のとおりです。
列: PersonId、BeginDate、EndDate、Dose
BeginDate と EndDate は、DOSEx 列と年から派生します。たとえば、年が 2008 年だとすると、DOSE1 列から BeginDate が 01/01/2008 になり、EndDate が 31/01/2008 23:59 になるはずです。
DOSE4 の場合は 4 月なので、BeginDate は 01/04/2008 で EndDate は 30/04/2008 23:59 になります。
TSQL を使用してこれを達成する方法はありますか? UNPIVOT を使用する必要があるのではないかと疑っていますが、そこに到達する方法がよくわかりません。
どんな助けでも大歓迎です。
よろしく、
TJ