[pgsql-jp: 29802] Re: 再起的にデータ数をカウントするには
Tohru Hayakawa
t.hayakawa @ digicom.dnp.co.jp
2003年 5月 8日 (木) 11:40:42 JST
> SELECT count(*) FROM 社員 WHERE 所属部署_cd IN
> (SELECT 所属部署_cd FROM 部署 WHERE 親部署_cd= 'hogehoe' )
これで試してみたのですが、どうしてもカウントがゼロになってしまいます。
私が考えるには再起部分は
select *
from 部署 子エイリアス,部署 親エイリアス
where 子エイリアス.親部署_cd=親エイリアス.部署_cd
といった具合で書けるように思うのですが、
疑問は
「もっとも親の部署のコードをどうやって指定するのか」
といった点にあります。
よろしくお願いします。
>> 例えば...
>> ┌───────┐
>> │部署 │
>> ┝━━━━━━━┥
>> │部署_cd │≪┐≪┐
>> │部署名 │ │ │
>> │親部署_cd │<┘ │
>> └───────┘ │
>> ┌───────┐ │
>> │社員 │ │
>> ┝━━━━━━━┥ │
>> │氏名 │ │
>> │所属部署_cd│≪──┘
>> └───────┘
>> というテーブルがあったとして、
>> ある部署以下の「のべ社員数」を求めるには
>> どのようなSQL文を書けばよいのでしょうか。。
pgsql-jp メーリングリストの案内