[pgsql-jp: 32596] 似たフィールドに同じ参照テーブルを使いたい

sekip- sekip- @ nifty.com
2004年 3月 27日 (土) 12:36:05 JST


はじめまして。初心者の関本といいます。

PostgreSQL 7.2.3にて以下のことしたく困っております。
メンバーテーブルと、県名テーブルを作り・・・

create table member (
  id       integer primary key,  --ID
  name     text,                 --名前
  ken_now  integer,              --現住所(県名)
  ken_old  integer               --旧住所(県名)
);
create table ken (
  ken_no   integer primary key,  --県ナンバー
  kenmei   text                  --県名
);

insert into member values ('1','愛生','2','1');
insert into member values ('2','江尾','1','3');

insert into ken values ('1','青森');
insert into ken values ('2','東京');
insert into ken values ('3','大阪');

とした場合、愛生さんのレコードを1行の
『 1|愛生|東京|青森 』
のように取り出したい selectコマンドをお教え戴けないでしょうか?

2行に取り出したいなら

select member.id, member.name, ken.kenmei
from member, ken
where member.ken_now = ken.ken_no and member.name = '愛生' ;

で良く、これと同じようなものをもう一回作ればいいのですが…。

(*)上記 create table の作り方が間違っている場合はどのように設計すれば
 『 1|愛生|東京|青森 』 のように取り出せるのでしょうか?
 県名は独立テーブルで持ちたい所存です。

以上、よろしくお願いします。





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