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

Naoya Harasawa harasawa @ gust.jp
2006年 8月 25日 (金) 16:19:47 JST


データとWHERE文を見る限り、挙動はあってますよね。
WHERE文をなぜ入れているのかわかりませんが、
まずはデータを再度確認するか、WHERE文を入れる必要があるのかを
検討してみてください。

Naoya Harasawa

切明 裕次 wrote:
> こんにちは。切明と申します。
> 
> [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 メーリングリストの案内