お小遣い帳を作っています。
1月入力しましたので、今日あたり1月ははたして我が家の貧しい生活はどうだったのかと分析をしようと思いました。
SQLでいえば
SELECT SUM( "支出基本テーブル"."金額" ), "支出項目"."項目名" FROM "支出基本テーブル" AS "支出基本テーブル", "支出項目" AS "支出項目" WHERE "支出基本テーブル"."項目ID" = "支出項目"."Id" AND "支出基本テーブル"."日付" BETWEEN {D '2009-01-01' } AND {D '2009-01-31' } GROUP BY "支出項目"."項目名"
要するに支出基本テーブルの金額のコラムと (関数 合計)
項目テーブルとの表示をリレーションで結んだ 項目名コラム (関数 グループ)
条件を between で 1月1日から1月31日とした日付コラム(関数 なし)
編集でしたら、ちゃんと表示されます。 これを calに吸い込んで グラフになんかしたら 早いと思いますが、なぜかこれを保存して、普通にクエリーから開くとエラーが出ます。
データの内容が読み込めませんでしたと出ます。
これはバグではないかと思うのですが、もしかしたら SQLの文章を書き替えたらうまく動くのかもしれません。
SQL文はまったくわからないのです。 ご存知の方教えてください。
でも、無料とは信じられない優秀さですね。 今日も結構表計算ソフトに一発でコピーできるのは感動しました。
編集画面では表示されるのに普通にクエリを開くとエラーになる
Re: 編集画面では表示されるのに普通にクエリを開くとエラーになる
http://oooug.jp/faq/で検索してみました。BETWEENの問題は以下が参考になるです。
「クエリで、日付データをもとにしたBetween抽出をしたい」
http://oooug.jp/faq/?faq/3/340
「クエリで、日付データをもとにしたBetween抽出をしたい」
http://oooug.jp/faq/?faq/3/340
Re: 編集画面では表示されるのに普通にクエリを開くとエラーになる
日付型ではBETWEENでエラーになるですね。
発見でした。
がんばってまたまた勉強します。
どうも、教えていただいた掲示板は読みにくいというか、検索しにくいというか、慣れてなくて、検索してもたくさん出てきすぎたり、まったく出てこなかったりで…。
ありがとうございます。
ただ、確かに 大なり小なりでも日付データで編集画面では正しく表示されるのですが、
保存して最初にクエリーを開くと
SQL ステータス: 37000
エラーコード: -67
Not in aggregate function or group by clause: org.hsqldb.Expression@a2a38 in statement [SELECT "支出項目"."項目名", SUM( "支出基本テーブル"."金額" ) FROM "支出基本テーブル" AS "支出基本テーブル", "支出項目" AS "支出項目" WHERE ( "支出基本テーブル"."項目ID" = "支出項目"."Id" AND "支出基本テーブル"."日付" > '2009-01-01' AND "支出基本テーブル"."日付" < '2009-01-31' ) AND ( "支出項目"."項目名" LIKE '食費' ) GROUP BY "支出項目"."項目名" ORDER BY SUM( "支出基本テーブル"."金額" ) ASC, "項目名" DESC, "日付" ASC]
というエラーが出ます。
もうちょっといろいろいじってみます。
発見でした。
がんばってまたまた勉強します。
どうも、教えていただいた掲示板は読みにくいというか、検索しにくいというか、慣れてなくて、検索してもたくさん出てきすぎたり、まったく出てこなかったりで…。
ありがとうございます。
ただ、確かに 大なり小なりでも日付データで編集画面では正しく表示されるのですが、
保存して最初にクエリーを開くと
SQL ステータス: 37000
エラーコード: -67
Not in aggregate function or group by clause: org.hsqldb.Expression@a2a38 in statement [SELECT "支出項目"."項目名", SUM( "支出基本テーブル"."金額" ) FROM "支出基本テーブル" AS "支出基本テーブル", "支出項目" AS "支出項目" WHERE ( "支出基本テーブル"."項目ID" = "支出項目"."Id" AND "支出基本テーブル"."日付" > '2009-01-01' AND "支出基本テーブル"."日付" < '2009-01-31' ) AND ( "支出項目"."項目名" LIKE '食費' ) GROUP BY "支出項目"."項目名" ORDER BY SUM( "支出基本テーブル"."金額" ) ASC, "項目名" DESC, "日付" ASC]
というエラーが出ます。
もうちょっといろいろいじってみます。
Re: 編集画面では表示されるのに普通にクエリを開くとエラーになる
自己レスです。
発見しました。 名前をつけて保存で新しいクエリーとして保存した場合にエラーも出ずにちゃんと出ました。
もともと最初に毎日の項目で表示するものを作って保存していたので、それが残る?のかもしれません。
やはりこれはバクだと思います。
発見しました。 名前をつけて保存で新しいクエリーとして保存した場合にエラーも出ずにちゃんと出ました。
もともと最初に毎日の項目で表示するものを作って保存していたので、それが残る?のかもしれません。
やはりこれはバクだと思います。