[pgsql-jp: 35791] Re: INNER JOIN について
HIRANO Yoshitaka
y-hirano @ arp-nt.co.jp
2005年 8月 3日 (水) 11:32:02 JST
平野です。
テーブルを一度削除して作り直したところ、最初のメールのSQL文が
正常に動くようになりました。
お答えいただいたSQL文でも、すべて正常な結果が表示されました。
お答えくださった皆様、有難うございました。
基本的な検証が足りず、申し訳ありません。
>藤沢様
今後、同じエラーが出た際には「別スキーマのデータを取り出していないか」
という点についてもまず確認してみようと思います。
ありがとうございました。
-----Original Message-----
From: pgsql-jp-bounces @ ml.postgresql.jp
[mailto:pgsql-jp-bounces @ ml.postgresql.jp]On Behalf Of Takao Kato
Sent: Tuesday, August 02, 2005 5:04 PM
To: pgsql-jp @ ml.postgresql.jp
Subject: [pgsql-jp: 35778] Re: INNER JOIN について
加藤@川崎です。
簡単な話題のときだけシャシャリでてくる… ^^;
です。At Tue, 2 Aug 2005 15:35:45 +0900,
HIRANO Yoshitaka wrote:
> 管理には、以下の2つのテーブルを使用します。
> ・会員スキル( kaiin_skill )
> ・スキルマスタ( skill_master )
..snip..
> この状態で、会員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;
..snip..
以下で試しましたが、(予想通り)問題ありませんでした。
# primary/references切るのは避けました。_o_
test=> CREATE TEMP TABLE skill (k_id int,skill_id int);
test=> CREATE TEMP TABLE smaster (skill_id int,skill_name text);
test=> INSERT INTO skill VALUE (1,1)
test=> INSERT INTO skill VALUE (1,2)
test=> INSERT INTO skill VALUE (5,1)
test=> INSERT INTO skill VALUE (5,3)
test=> INSERT INTO skill VALUE (5,4)
test=> INSERT INTO smaster VALUE (1,'A');
test=> INSERT INTO smaster VALUE (2,'B');
test=> INSERT INTO smaster VALUE (3,'C');
test=> INSERT INTO smaster VALUE (4,'D');
test=> INSERT INTO smaster VALUE (5,'E');
test=> SELECT * FROM skill INNER JOIN smaster USING(skill_id) WHERE k_id =
5;
skill_id | k_id | skill_name
----------+------+------------
1 | 5 | A
3 | 5 | C
4 | 5 | D
(3 rows)
まぁinner joinを使わなくても、
SELECT skill.k_id,smaster.* FROM skill,smaster
WHERE skill.k_id = 5 AND skill.skill_id = smaster.skill_id;
でも同じ結果を得ることができます(した)。
実テーブル・データ的にみて、なにか考慮漏れがあるのではないでしょうか?
では
-------------------------------------------------------------
加藤@川崎在勤
pgsql-jp メーリングリストの案内