• ベストアンサー

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

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

  • ベストアンサー
noname#140971
noname#140971
回答No.2

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|

その他の回答 (2)

noname#221739
noname#221739
回答No.3

普段、Oracle 相手に SELECT 文を作ってるので、それをさっ引いて読んで下さいナ。 SELECT SUM( NVL( 面積, 0 ) ) FROM 物件情報 WHERE 契約日 > ADD_MONTHS( SYSDATE, -12 ) AND 契約日 <= SYSDATE …と、こんな感じのことがしたい訳ですな。 ・“今日”を示す、SQL変数が Access にもあると思うので、それを使う。 ・1年後の日付を取得する、ってな日付関数もあったと思うので、それを使う。 ・[面積]が DBNull.Value の場合は 0 と読み替えるような、数値関数もあったと思う。

noname#24040
noname#24040
回答No.1

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

関連するQ&A