[pgsql-jp: 30778] Re: SQL(等価結合の変形版? )

Yu Ooasa you @ dearest.net
2003年 8月 14日 (木) 19:15:28 JST


Thu, 14 Aug 2003 18:36:51 +0900 (JST)
	kenbooit @ excite.co.jp said:
>[test]テーブル
> id     | code1   | code2
>--------+---------+---------
> A      | 5000    |
> B      | 4000    | 4001
> C      | 4500    |
> D      | 5020    | 5021
> E      | 3000    | 3001
>
>
>[test2]テーブル
> name |  dept  | number
>------+--------+--------
> 三好 | 人事部 | 3000
> 本田 | 人事部 | 3001
> 佐藤 | 人事部 | 4000
> 吉田 | 人事部 | 4001
> 鈴木 | 開発部 | 4500
> 田中 | 総務部 | 5000
> 伊藤 | 経理部 | 5020
> 前田 | 経理部 | 5021
>
>上のような2つのテーブルがあったとして、

>実現したい結果は
>
> id     | button1 | name1 | dept1  | button2 | name2 |
>dept2
>--------+---------+-------+--------+---------+-------+--------
> A      | 5000    | 田中  | 総務部 |         |     | 
> B      | 4000    | 佐藤  | 人事部 | 4001    | 吉田  | 人事部
> C      | 4500    | 鈴木  | 開発部 |         |    | 
> D      | 5020    | 前田  | 経理部 | 5021    | 伊藤  | 経理部
> E      | 3000    | 本田  | 人事部 | 3001    | 三好  | 人事部

なんだか上記例示はおかしいような気がしますが。

select t1.id,
       t1.code1, t2a.name as name1, t2a.dept as dept1,
       t1.code2, t2b.name as name2, t2b.dept as dept2
  from t1 left join t2 as t2a on code1=t2a.number
          left join t2 as t2b on code2=t2b.number
 order by id

とか
--
Yu Ooasa  E-mail: you @ dearest.net



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