[pgsql-jp: 35777] Re: INNER JOIN について
a_yari
a_yari @ yahoo.co.jp
2005年 8月 2日 (火) 16:21:50 JST
HIRANO Yoshitaka wrote:
> スキルテーブル
> | kaiin_id | skill_id |
> ----------------
> | 1 | 1 |
> | 1 | 2 |
> | 5 | 1 |
> | 5 | 3 |
> | 5 | 4 |
> -------------------
>
> スキルマスタテーブル
> | skill_id | skill_name |
> -------------------
> | 1 | A |
> | 2 | B |
> | 3 | C |
> | 4 | D |
> | 5 | E |
> -------------------
>
> この状態で、会員ID = 5 の会員が持つスキル名の一覧を表示しようと思い、
> 下記のSQL文を実行しました。
> -------------------------------------------
> select
> kaiin_skill.kaiin_id,
> kaiin_skill.skill_id,
> skill_master.skill_name
> from kaiin_skill
> inner join skill_master on
> ( kaiin_skill.skill_id=skill_master.skill_id )
> where
> kaiin_skill.kaiin_id=5;
> -------------------------------------------
> 取得したい結果は以下のような内容です。
>
> | kaiin_id | skill_id | skill_name |
> ----------------------
> | 5 | 1 | A |
> | 5 | 3 | C |
> | 5 | 4 | D |
> --------------------------------------
特におかしいところは無いようですが・・・
>
> | kaiin_id | skill_id | skill_name |
> ----------------------
> | 5 | 1 | A |
> ------------------------
>
結果の取得方法に問題はありませんか?
以下の文を実行したら結果はどうなりますか?
select count(*)
from kaiin_skill
inner join skill_master on
( kaiin_skill.skill_id=skill_master.skill_id )
where
kaiin_skill.kaiin_id=5;
---
a_yari<a_yari @ yahoo.co.jp>
pgsql-jp メーリングリストの案内