こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SELECT文の書き方

すみません、いつもお世話になっております。
以下のようなDBの内容の場合、契約日が現在の年月から1年以内のみ抽出して
面積を合計する というSELECT文を書きたいのですがよく分かりません。
宜しくお願いします。
※現在は2006年01月ですので条件は契約日が2005/01/01~現在日付となります。

DB名 物件情報
物件番号   契約日    面積
1     2006/01/12    24.35
2     2005/10/01    30.01
3     2004/12/10    18.22
4     2005/08/20    24.00
5     2005/04/07    38.75

投稿日時 - 2007-01-11 14:09:41

QNo.2658584

すぐに回答ほしいです

質問者が選んだベストアンサー

SELECT文の幾つかのサンプルを示しておきます。
Access.adp で SQL Server 2000 にアクセスして実行結果を表示したものです。

SELECT * FROM 物件情報

  |_ID|_物件番号|契約日  |_面積|
---|-------------------------------
 1| 1|    1|2006/01/12|24.35|
 2| 2|    2|2005/10/01|30.01|
 3| 3|    3|2005/10/01|18.22|
 4| 4|    4|2005/08/20|24.00|
 5| 5|    5|2005/04/07|38.75|

SELECT SUM(面積) FROM 物件情報

  |(_expession)|
---|-------------
 1|   135.33|

SELECT * FROM 物件情報 WHERE 契約日 BETWEEN '2005/01/01' AND '2005/12/31'

  |_ID|_物件番号|契約日  |_面積|
---|-------------------------------
 2| 2|    2|2005/10/01|30.01|
 3| 3|    3|2005/10/01|18.22|
 4| 4|    4|2005/08/20|24.00|
 5| 5|    5|2005/04/07|38.75|

投稿日時 - 2007-01-11 15:08:07

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(3)

普段、Oracle 相手に SELECT 文を作ってるので、それをさっ引いて読んで下さいナ。

SELECT SUM( NVL( 面積, 0 ) )
FROM 物件情報
WHERE 契約日 > ADD_MONTHS( SYSDATE, -12 )
AND 契約日 <= SYSDATE

…と、こんな感じのことがしたい訳ですな。

・“今日”を示す、SQL変数が Access にもあると思うので、それを使う。
・1年後の日付を取得する、ってな日付関数もあったと思うので、それを使う。
・[面積]が DBNull.Value の場合は 0 と読み替えるような、数値関数もあったと思う。

投稿日時 - 2007-01-13 05:13:57

ANo.1

where句
sum
とかで調べてみましょう。

投稿日時 - 2007-01-11 14:21:28

あなたにオススメの質問