[pgsql-jp: 34013] Re: テーブルの結合について

中嶋 o-nakashima @ hi-lex.co.jp
2004年 9月 21日 (火) 09:47:10 JST


坂田@横須賀の丘の上 様

回答有難うございます。
希望どおりの表を作成することが出来ました。

しかし作成した表からデータを取り出す(where句
を使う)場合はどこに記述すればよいのでしょうか?

以上


----- Original Message ----- 
From: "SAKATA Testuo" <sakata.tetsuo @ lab.ntt.co.jp>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Tuesday, September 21, 2004 9:15 AM
Subject: [pgsql-jp: 34012] Re: テーブルの結合について


> おはようございます。坂田@横須賀の丘の上です。
>
> 中嶋 wrote:
>
> >はじめて問合せをしますナカシマです。
> >初心者なので初心者なりの回答お願いします。
> >
> >環境は以下の構成で使用しています。
> >RedHatLinux7.3
> >Postgresql 7.2.3
> >
> >問題は
> >以下のテーブル1、テーブル2が以下のようにあります。
> >
> >table1とtable2はほぼ同じ内容なのですが、
> >
> >2つのテーブルを共通する部分だけ単純にid,結合し、
> >select分でidを1〜6まで
> >以下のselect文を書いてもうまく結合できません。
> >どのようにすればよいのでしょうか?
> >
> >
>
> お望みのものは、結合(join)ではなくて、マージではないかと思います。
>
> >だめだった例)
> >select   id, name, date, month
> > from    table1,table2
> >where    id='3'
> >
> >(table 1)
> >id       name   year   date    month
> >(text)  (text) (text) (text)  (text)
> >1         A      2004  07        01
> >2          B     2004  09        02
> >3          C      2004  07        07
> >
> >(table 2)
> >id       name   year   date    month   second  
> >(text)  (text) (text) (text)  (text)   (text)
> >4         D      2004  07          05        12
> >5          A      2004  07          07        34
> >6          B      2004  07          14        33
> >
> >(結合したい形)
> >(table3)
> >id       name   year   date    month
> >(text)  (text) (text) (text)  (text)
> >1         A      2004  07        01
> >2          B     2004  09        02
> >3          C      2004  07        07
> >4         D      2004  07        05
> >5          A      2004  07        07
> >6          B      2004  07        14
> >
> >以上情報が不足している場合は直ぐに回答いたしますので宜しくお願い致しま
す。
> >
> >
> >
> この形の出力が得たいのであれば、
>
> (1)マージしようとする双方のテーブルの型(列のセット)をそろえて、
> (2)テーブルをマージする
>
> ことになります。
>
> (SELECT id, name, year, date, month
> FROM table2
> )
> UNION
> (SELECT id, name, year, date, month
> FROM table3
> );
>
> でできるかと思います。
> ( )で括った箇所が上記の(1)、
> キーワードUNIONが(2)に対応します。
>
> idに重複がある場合、などはもう少し処理を追加する必要がありますが…。
>
> ご参考になれば幸いです。
>
> -- 
> 坂田 哲夫@NTT サイバースペース研究所
> sakata.tetsuo _at_ lab.ntt.co.jp
> SAKATA, Tetsuo. Yokosuka JAPAN.
>
>
>




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