[pgsql-jp: 30666] Re: 2つのテーブルから Web 上でグループ表記

kenji kenji @ arka.jp
2003年 8月 2日 (土) 00:01:44 JST


けんじ@亀岡です
お返事有り難う御座いました(_ _)

> => SELECT a.No1,count(*) FROM tableA a,tableB b WHERE a.No1 = b.No_a order
by a.No1 desc;

これを現在作ってるソースに当てはめ試しましたが上手く行きません
そこで例としてあげたテーブルをそのままに作って試しましたがやはりエラー

ERROR:  Attribute a.no1 must be GROUPed or used in an aggregate function

=> select a.*, b.* from tablea a, tableb b where b.no_a = a.no1 order by no1
desc;
としますと下記のように返ります

 no1 | aaa | bbb | no2 | no_a | ddd
-----+-----+-----+-----+------+-----
 5   | す  | せ  | 10  | 5    | end
 4   | こ  | さ  | 8   | 4    | uvw
 4   | こ  | さ  | 9   | 4    | xyz
 3   | き  | く  | 5   | 3    | lmn
 3   | き  | く  | 6   | 3    | opq
 3   | き  | く  | 7   | 3    | rst
 2   | え  | お  | 4   | 2    | jkl
 1   | あ  | い  | 1   | 1    | abc
 1   | あ  | い  | 2   | 1    | def
 1   | あ  | い  | 3   | 1    | ghi
(10 rows)

> とかして <td> の行調整情報を事前に準備しておけばOKかと。まぁ、二度手間っ
> て話はありますが。しかしこれってPHPの話でしかないなぁ,,,

投稿の時に迷いましたが

> PostgreSQL的な方法だと検索結果の集合(配列)を返す方法が考えられますね。
> # 以前やろうとして失敗したと [pgsql-jp: 39542] で話題をふったところ、
> # [pgsql-jp: 30563]にて和田さんに絶妙なfunctionを伝授していただきました。
>
> これのtext版(仮にaggとしますが)を作って

GROUP BY での処理は私の知識が付いていかない (^^ゞ
[pgsql-jp: 30563]を読んでも「これのtext版(仮にaggとしますが」の意味が理解で
きませんでした。

昨年初めて本を読みながらphp&postgresqlで1つのweb上で使うDBを作っただけ
でどのように
調べたらいいか(学べば良いか)の道筋でもご教授頂けますとありがたいです。





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