- - PR -
ある年度から現在までの全ての年度を取り出したいのです。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-03-06 18:44
こんばんは。
テーブルの中から最も古い年度を取り出し、その年度から現在までの全ての年度を表示するようにしたいと思っています。 例えば、 年度 2001 2002 2005 2006 のように、抜けている年度があっても、 2001 2002 2003 2004 2005 2006 2007 となるようにしたいのです。 SQLでこのようなレコードを作るには、 どのようにすればよいのでしょうか。 DBはSQLServer2005です。 よろしくお願いします。 | ||||
|
投稿日時: 2007-03-06 19:17
無いデータを、どうやって問い合わせるのでしょう? ストアド組んでやれば出来ないことはないけど? | ||||
|
投稿日時: 2007-03-06 20:09
SQLServer2005が手元にないので私が良くやる方法のさわりを説明します。 例の場合でしたら、予め2001〜9999までの年度が入ったテーブルを作成し、 そのテーブルに対してSQLを投げます。 取り出したい年度の最小値/最大値は、WHERE句で絞ります。最小値はサブクエリを使って 本来取り出したいテーブルから取得し、最大値は現在時刻から取り出します。 ご参考までに おっと誤字が・・・ [ メッセージ編集済み 編集者: ぎんぎつね 編集日時 2007-03-06 20:10 ] | ||||
|
投稿日時: 2007-03-07 09:41
ありがとうございます。
やはり難しいみたいですね。 結局、YEAR(MIN(年度))で最も古い年度を取り出し、 そこから現在の年度まで、SQLではなく、プログラムコードで値を入れることにしました。 ありがとうございました。 |
1