ID M1 M2 M3 M4 DateM2 DateM3 DateM4
1 2 NULL NULL NULL NULL NULL NULL
2 NULL 2 1 1 11.11.2011 15.11.2011 20.11.2011
3 1 NULL NULL NULL NULL NULL NULL
4 2 3 1 2 11.12.2012 12.12.2012 13.12.2012
5 1 1 1 1 11.10.2012 12.10.2012 13.10.2012
6 2 2 2 2 12.9.2012 12.12.2012 1.2.2013
ID列と新しい列を持つ次のテーブルを作成したい
ID M1+M2+M3+M4
1 2
2 4
3 1
4 8
5 4
6 8
新しい列は、次のルールで M1+M2+M3+M4 になります。
- M1 は常に合計に追加され、その null の場合は 0 に設定します
- DateM2 が NULL ではなく、かつ DATE1 < DateM2 < DATE2 の場合、M2 が合計に追加されます。
- DateM3 が NULL ではなく、かつ DATE1 < DateM3 < DATE2 の場合、M3 が合計に追加されます。
- DateM4 が NULL ではなく、かつ DATE1 < DateM4 < DATE2 の場合、M4 が合計に追加されます。
DATE1 と DATE2 はクエリで指定された変数です。これに関する私の問題は、パフォーマンスに何を使用すればよいかわかりません。何万ものレコードがあります。select case を使用する必要があります。