- ベストアンサー
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
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
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)
普段、Oracle 相手に SELECT 文を作ってるので、それをさっ引いて読んで下さいナ。 SELECT SUM( NVL( 面積, 0 ) ) FROM 物件情報 WHERE 契約日 > ADD_MONTHS( SYSDATE, -12 ) AND 契約日 <= SYSDATE …と、こんな感じのことがしたい訳ですな。 ・“今日”を示す、SQL変数が Access にもあると思うので、それを使う。 ・1年後の日付を取得する、ってな日付関数もあったと思うので、それを使う。 ・[面積]が DBNull.Value の場合は 0 と読み替えるような、数値関数もあったと思う。
where句 sum とかで調べてみましょう。