2010年1月20日

[pgsql-jp: 40146]countを含む結果と別テーブルを比較したい

神奈川の竹中と申します。
お世話になります。

あるテーブルのcount(*)の結果と、別のテーブルのint型のデータを比較したいのですが、うまくいかずに困っております。

環境はこちらです。
PostgreSQL 8.1.11 on i686-redhat-linux-gnu, compiled by GCC gcc (GCC)
4.1.2 20070626 (Red Hat 4.1.2-14)


下記のような2つのテーブルがあります。
CREATE TABLE entry_table (
entry_id INT,
category TEXT
);
CREATE TABLE category_table (
category TEXT,
num INT
);

entry_tableでは、各entry_idについて"A"〜"Z"のいずれかのcategoryが登録されています。
category_tableでは、各categoryについて何件のentryの登録があるかをnumに記録しています。
しかし、numの値が正確でない可能性が発生したので、実際の件数と比較をしようと思いました。

実際の件数は、下記で取得できます。
SELECT DISTINCT category, count(*)
FROM entry_table
GROUP BY category;

ここで取得するcountの値を、下記で取得できるnumと並べて比較したいのです。
SELECT category, num
FROM category_table;

下記をはじめ色々と試してみたのですが、どうにもうまくいきません。
SELECT DISTINCT e.category, count(*), num
FROM entry_table e
LEFT OUTER JOIN category_table c
ON e.category=c.category
GROUP BY e.category;

各categoryと、それに対応するcountとnumを同時に取得したいのですが、何か根本的に間違っているのでしょうか…?

初歩的なことかもしれず恐縮なのですが、どなたかご教授いただければ幸いです。
よろしくお願いいたします。


--
竹中 彰一 (TAKENAKA, Akikazu)
akikazu@xxxxx | twitter.com/equal1
Skype: equal1.at | iPhone: +81-90-8477-3901


投稿者 xml-rpc : 2010年1月20日 19:30
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/92502
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。