[pgsql-jp: 37482] [LEFT JOIN]の結合で結果が表示されません

切明 裕次 y-kiriaki @ tec.co.jp
2006年 8月 25日 (金) 15:30:11 JST


こんにちは。切明と申します。

[LEFT JOIN]を使用して左側のテーブルを中心にして右側のテーブルを持ってくると
思って以下のSQLを実行してみたのですが結果が1行も表示されません。
ちなみにb2までにするとaaaのみ表示されます。これは右側のテーブルに該当がない
場合結果として持ってきていないためだと思われます。
自分が思っている結果を出すにはどのようにすればいいのでしょうか。
宜しくお願いします。

SELECT * FROM ((A 
LEFT JOIN B as b1 ON A.NAME=b.NAME) 
LEFT JOIN B as b2 ON A.NAME=b2.NAME) 
LEFT JOIN B as b3 ON A.NAME=b3.NAME
WHERE b1.RAUREKU=1 AND b2.RAIREKI=2 AND b3.RAIREKI=3;

●テーブルA
| NO | NAME |
|   1| aaa  |
|   2| bbb  |
|   3| ccc  |
|   4| ddd  |
・・・

●テーブルB
| NAME | RAIREKI | KINGAKU |
| aaa  |  1      | 10000   |
| aaa  |  2      | 12000   |
| bbb  |  1      |  8000   |
| ccc  |  1      | 12500   |
・・・

●結果(理想)
| NO | NAME | b1.KINGAKU | b2.KINGAKU | b3.KINGAKU |
|   1| aaa  |   10000    |   12000    |            |
|   2| bbb  |    8000    |            |            |
|   3| ccc  |   12500    |            |            |
|   4| ddd  |            |            |            |
・・・



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