[pgsql-jp: 39443] Re: 0 件でも表示

s-koga @ pi.jp.nec.com s-koga @ pi.jp.nec.com
2008年 6月 19日 (木) 22:44:29 JST


いつもお世話になっております。
古賀@教育ビジネス部.NECソフトウェア九州です。

2008/06/19 22:22:44 +0900 にHOTTA Michihideさんにいただいた
「[pgsql-jp: 39442] 0件でも表示」へのReplyです。

>堀田@長崎市です。
こんばんは。
手元にpostgeSQL環境(というかDB環境)がないので、動かなかったら
ごめんなさいm(__)m

↓これでいかがでしょう?

SELECT DISTINCT
    category.code
  , name
  , count(*)
FROM  category LEFT OUTER JOIN article
ON  category.code = article.code
GROUP BY    category.code, category.name;


------

>SELECT DISTINCT
>    category.code
>  , name
>  , count(*)
>FROM   category,article
>WHERE  category.code = article.code
>GROUP BY    category.code, category.name;
>
> code | name  | count
>------+-------+-------
>    1 | cat-1 |     2
>    2 | cat-2 |     2
>    4 | cat-4 |     1
>(3 行)
>
>こうすると、記事のない cat-3 については出力されません。
>
> code | name  | count
>------+-------+-------
>    1 | cat-1 |     2
>    2 | cat-2 |     2
>    3 | cat-3 |     0
>    4 | cat-4 |     1
>(4 行)
>
>後者のように出力したいのですが、どうすればよいでしょうか?
>JOIN を使うんじゃないかなーとは思ってるんですが…。
>
>-- 
>HOTTA Michihide <hotta @ net-newbie.com>

-----------------------------------------------------------------

  NECソフトウェア九州 ソリューションサービス事業部
             教育ビジネス部  古賀 章司(Shoji Koga)
        E-Mail     : s-koga @ pi.jp.nec.com
        TEL        : 092-852-4214  FAX : 092-852-4263

-----------------------------------------------------------------



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