[pgsql-jp: 35741] Re: CREATE VIEWによる集計について

水沼寛喜 mizunuma @ m-design.com
2005年 7月 25日 (月) 18:06:54 JST


吉田様

水沼です。

求めている物と同じ結果が出ました。
ありがとうございます。

現在、同じような考えで1列に

 cid | largeq |  enq1合計(値=1) |  enq1合計(値=2) | 以下略
---+------+--------------+--------------+--------
   1 |        1 |                      2 |                        2 |

列にした場合のVIEWテーブルも必要になり
考えているのですがうまく行かない状態です。
自分でテスト用に作成したVIEWのテーブル構造は以下の通りです。

CREATE VIEW test as
SELECT cid, largeq, (
  SELECT count(*) from kenqt where enq1 = '1' GROUP BY cid, largeq
) as aaa from kenqt;

作成成功時の
CREATEの文はでるのですが、
SELECT * FROM test;
を打つとエラーにより表示結果が得られない状態です。

サブクエリ文がおかしいと思われるのですが、どの辺りを直せば良いのか悩んでいる
次第です。
ご教授頂ける方がいましたら、ご教授をお願い致しますようよろしくお願い致しま
す。


> -----Original Message-----
> From: pgsql-jp-bounces @ ml.postgresql.jp
> [mailto:pgsql-jp-bounces @ ml.postgresql.jp] On Behalf Of 吉田
> Sent: Monday, July 25, 2005 4:22 PM
> To: PostgreSQL Japanese Mailing List
> Subject: [pgsql-jp: 35739] Re:CREATE VIEWによる集計について
>
>
>
> 水沼さん、初めまして。
> しばらくROMっておりました、吉田と申します。
>
> > 現在、CREATE VIEWによる集計処理をしたく、
> > VIEWテーブルの設計を考えているのですが、
> > うまく行かず、悩んでおります。
> > ご教授をして頂きたく、投稿させて頂きました。
> >
> >
> > CREATE VIEWさせたいテーブルの構造
> > CREATE TABLE "kenqt" (
> > 	"enqtid" integer NOT NULL,
> > 	"cid" integer NOT NULL,
> > 	"largeq" smallint NOT NULL,
> > 	"ansno" smallint NOT NULL,
> > 	"enq1" smallint,
> > 	"enq2" smallint,
> > 	"enq3" smallint,
> > 	Constraint "kenqt_pkey" Primary Key ("enqtid")
> > );
>
> <snip>
> > 「cid」と「largeq 」のグループ毎に「enq1」の合計を
> > 求めたいというVIEWテーブルを作成したいのです。
>
> 求めたい結果から「cid」と「largeq」と「enq1」のグループ毎の行のカウント数
が
> 得たい答えだとして、group byとcountでできると思いますよ。
>
> select文としては、
> select cid, largeq, enq1, count(*) from kenqt
> 	group by cid, largeq, enq1;
> という感じでしょうか。
>
> 手元に環境がないので確認しておりませんが。
> 求めているものと方向が違っているようでしたら申し訳ないです。
>





pgsql-jp メーリングリストの案内