「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:2
昨日:1
総数:1325
現在:4


selectの結果を変数に保存できませんか

ページOpenOffice.org FAQの登録ページ
投稿者guni
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2010-01-07 15:48:32 (木)
OSwin2k
依存するページ
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

日々の収支から以下のような決算書を作っています。
(image1)

Image1.png

目について決算額と設定した予算額から増減を求め、
項、款はそれらを合計することによって増減を求めようと思いますが、
増減を求めるところが複雑になってしまいます。

select "ID", "name",
	select sum("money") from "tbl2" where "tbl2"."ID1" = "tbl1"."ID" as "決算",
	select sum("yosan") from "tbl2" where "tbl2"."ID1" = "tbl1"."ID" as "予算",
	select sum("money") - sum("yosan") from "tbl2" where "tbl2"."ID1" = "tbl1"."ID" as "増減"
from "tbl1"


そこで、お聞きしたいのは、上記の決算と予算として求まった値を変数に保存して、増減はその変数の引き算をするようなことができないものでしょうか。

よろしくお願いします。


こういうことでしょうか

M.Kamataki (2010-01-07 17:11:12 (木))

メッセージ欄のSQLは、以下のように書きなおすことで、別名を使った引き算になります。「変数に」というのは、こういうことでも良いのでしょうか。

select "tbl"."ID" , "tbl"."name" ,
"tbl"."決算" , "tbl"."予算" ,
"tbl"."決算" - "tbl"."予算" as "増減"
from (
select "ID", "name",
 select sum("money") from "tbl2" where "tbl2"."ID1" = "tbl1"."ID" as "決算",
 select sum("yosan") from "tbl2" where "tbl2"."ID1" = "tbl1"."ID" as "予算"
from "tbl1"
) AS "tbl"

あるいは、Baseの機能を使い、クエリーを基にしたクエリーを作成することもできます。下図のような感じです。こちらの方が簡単かと思います。(サンプルのqry1の「増減」フィールドは不要になります)

faq5_219_1.jpg

解決しました

guni (2010-01-07 17:59:25 (木))

ありがとうございます。
クエリにすれば簡単だったんですね。悩んでいたことが一気に解消しました。
いろいろなことに使えそうです。

ビューでもOK

M.Kamataki (2010-01-07 18:17:18 (木))

上記は、クエリーの例ですが、Base標準のHSQLDBはビューが使えます。差し込み印刷などでは、ビューの方が便利な場合があります。印刷時にクエリーだとテーブルが自動選択されないなどの制約があるので、適宜クエリーとビューを使い分けてください。

お名前:
題名:


添付ファイル: filefaq5_219_1.jpg 443件 [詳細] filetest1.odb 557件 [詳細] fileImage1.png 693件 [詳細]