Paradoxの日付型の月ごと集計

解決


冬のにおい  2011-11-25 03:10:05  No: 41267

ParadoxのTableを集計したいのですが、
SQL文の書き方を忘れてしまい困っています。
日付型で金額を集計したいです。

入金日,金額
2011/11/01,1000
2011/11/02,1000
2011/12/01,1000

結果
2011/11 ,2000
2011/12 ,1000

または
11,2000
12,1000

とするには、
どのようなSQL文にするとよろしいのでしょうか?


テスト  2011-11-25 03:40:54  No: 41268

select
  substring(入金日,1,7),
  sum(金額) ]
.
.

group by substring(入金日,1,7)

じゃダメなのかな?


DEKO  2011-11-25 04:28:18  No: 41269

こんにちは。

まず、*.db と同じ場所にテキストファイルを置きます。
名前は "NYUKIN_VIEW.SQL" とします。

[NYUKIN_VIEW.SQL]
Select
  EXTRACT(YEAR  FROM 入金日) AS YY,
  EXTRACT(MONTH FROM 入金日) AS MM,
  金額
FROM 
  "入金.DB"

そして、以下の SQL を実行します。

Select
  YY as 年,
  MM as 月,
  SUM(金額) as 月計
From
  "NYUKIN_VIEW.SQL"
Group By
  YY, MM 
Order By
  YY, MM    

[結果]
年   月 月計
---- -- ----
2011 11 2000
2011 12 1000

# Paradox の SQL は "%ProgramFiles%\Common Files\Borland Shared\BDE" にある、
# LOCALSQL.HLP で確認できます。


DEKO  2011-11-25 04:56:28  No: 41270

*.SQL ファイルを使う方法は、
LOCALSQL.HLP の "ローカル SQL の VIEW" に詳細があります。


冬のにおい  2011-11-25 19:40:13  No: 41271

遅くなりましてすみません。
テスト様、DEKO様  ありがとうございます。

substringの機能が効かないのかSQLを実行すると、
キーワードの無効です。とエラーがでます。
”,1,7)”

*.SQLを使用する方法を試したところ成功しました!

ありがとうございました。


DEKO  2011-11-25 22:07:06  No: 41272

Paradox...というか、Local SQL の SubString() の構文は、

SUBSTRING(文字列フィールド FROM 開始位置 FOR 長さ)

です。

日付型からだとさらに CAST() を使う必要があると思います。
また、Local SQL では Group By 句に SubString() は使えません。

# これまた LOCALSQL.HLP に記述があります。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加