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

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


[NO]はAccessを使用している際の癖です。
(つけないとエラーになってしまうw)
pgsqlでは必要ありませんでしたね。

とりあえず、自分自身不安だったので、Postgresql8.1で確認してみましたが

SELECT A.NO, A.NAME, B1.KINGAKU, B2.KINGAKU, B3.KINGAKU
FROM ((A LEFT JOIN (select * from B where RAIREKI = 1) AS B1 ON A.NAME = B1.NAME)
LEFT JOIN (select * from B where RAIREKI = 2) AS B2 ON A.NAME = B2.NAME)
LEFT JOIN (select * from B where RAIREKI = 3) AS B3 ON A.NAME = B3.NAME;

でも

SELECT A.NO, A.NAME, B1.KINGAKU, B2.KINGAKU, B3.KINGAKU
  FROM A
    LEFT JOIN B AS B1 ON A.NAME = B1.NAME AND B1.RAIREKI = 1
    LEFT JOIN B AS B2 ON A.NAME = B2.NAME AND B2.RAIREKI = 2
    LEFT JOIN B AS B3 ON A.NAME = B3.NAME AND B3.RAIREKI = 3;

でも同じ結果が出ました。
もしかしてPostgresql7とかではだめだったりしてw

Tietew wrote:
> On Fri, 25 Aug 2006 17:04:03 +0900
> In article <44EEAEF3.6080205 @ gust.jp>
> [[pgsql-jp: 37485] Re: [LEFT JOIN]の結合で結果が表示されません]
> Naoya Harasawa <harasawa @ gust.jp> wrote:
> 
>> さっきメール送った後で、やりたい意図がわかりました。
>>
>> SELECT A.[NO], A.NAME, B1.KINGAKU, B2.KINGAKU, B3.KINGAKU
>> FROM ((A LEFT JOIN (select * from B where RAIREKI = 1) AS B1 ON A.NAME = B1.NAME)
>> LEFT JOIN (select * from B where RAIREKI = 2) AS B2 ON A.NAME = B2.NAME)
>> LEFT JOIN (select * from B where RAIREKI = 3) AS B3 ON A.NAME = B3.NAME;
> 
> [NO] って T-SQL?
> 
> というのは置いておいて
> 
> 
> SELECT A.NO, A.NAME, B1.KINGAKU, B2.KINGAKU, B3.KINGAKU
>   FROM A
>     LEFT JOIN B AS B1 ON A.NAME = B1.NAME AND B1.RAIREKI = 1
>     LEFT JOIN B AS B2 ON A.NAME = B2.NAME AND B2.RAIREKI = 2
>     LEFT JOIN B AS B3 ON A.NAME = B3.NAME AND B3.RAIREKI = 3;
> 
> では?




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