[pgsql-jp: 35781] Re: INNER JOIN について
HIRANO Yoshitaka
y-hirano @ arp-nt.co.jp
2005年 8月 2日 (火) 17:45:44 JST
a_yari 様、藤沢様、加藤様
早速お返事ありがとうございました。
>a_yari 様
お教えいただいたSQL文を実行したところ、以下の結果が返って来ました。
|count |
-----------
| 1 |
下記の方法でも、取得できる件数を調べてみました。
select count(*) from kaiin_skill
こちらは、以下の結果になります。
|count |
-----------
| 5 |
>藤沢様
>加藤様
最初にエラーが発生したテーブルはもっと項目が多かったので
現在、メールで書いたものと同じテーブル、内容でテストを行っているのですが
同じ結果が表示されています。
また、データの内容について再確認しましたが、メールで書いたものと同じ内容で間
違いありません。
データ型は、すべてtext 型に設定しています。
テーブルの作成は phpPgAdmin から行っており、データ長、デフォルト値は全て指定
していません。
最初のメールで書き忘れましたが、サーバの環境はレンタルサーバを使用していま
す。
これまでにも、PostgreSQLのいくつかの機能に制限がつけられていたので、
念のため問い合わせてみようと思います。
皆様から頂いたメールを拝読して、SQL文にはおそらく問題ないということがわかり
ました。
他に何か考えられる原因について、心当たりがありましたら
ご教示頂ければ幸いです。
よろしくお願いいたします。
-----Original Message-----
From: pgsql-jp-bounces @ ml.postgresql.jp
[mailto:pgsql-jp-bounces @ ml.postgresql.jp]On Behalf Of a_yari
Sent: Tuesday, August 02, 2005 4:22 PM
To: PostgreSQL Japanese Mailing List
Subject: [pgsql-jp: 35777] Re: INNER JOIN について
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 メーリングリストの案内