紛らわしいタイトルですみません。db リクエストを介して行うことが可能かどうか教えてください。次の表があるとします
ind_id name value date
----------- -------------------- ----------- ----------
1 a 10 2010-01-01
1 a 20 2010-01-02
1 a 30 2010-01-03
2 b 10 2010-01-01
2 b 20 2010-01-02
2 b 30 2010-01-03
2 b 40 2010-01-04
3 c 10 2010-01-01
3 c 20 2010-01-02
3 c 30 2010-01-03
3 c 40 2010-01-04
3 c 50 2010-01-05
4 d 10 2010-01-05
すべての行をクエリしind_id
て、指定された日付ごとに 1 回ずつ含める必要があります。指定された日付がない場合ind_id
は、最も近い日付を取得し、それより低い日付がない場合は、ind_id + name を返します (name/ind_id のペアは等しい)ヌル付き。たとえば、日付が 2010-01-04 の場合、次の結果が期待されます。
ind_id name value date
----------- -------------------- ----------- ----------
1 a 30 2010-01-03
2 b 40 2010-01-04
3 c 40 2010-01-04
4 d NULL NULL
可能であれば、誰かがクエリの作成を手伝ってくれたらとてもありがたいです。SQL サーバー 2008 を使用しています。