[Seasar-user:3545] Re: [S2DAO]条件付の外部結合にて、結合テーブルの値が取得できない

羽生 章洋 [E-MAIL ADDRESS DELETED]
2006年 4月 24日 (月) 17:17:54 JST


羽生です。

通りすがりに目に付いたので、外しているかも知れませんが。

> SELECT 
>  TABLE_A.FIELD1,
>  TABLE_A.FIELD2,
>  TABLE_B.FIELD1,
>  TABLE_B.FIELD2,
>  TABLE_C.FIELD1,
>  TABLE_C.FIELD2,
> FROM 
>  TABLE_A,

     ↑ここのカンマは要らないのでは?

>  LEFT OUTER JOIN TABLE_B ON TABLE_A.ID = TABLE_B.ID
>  LEFT OUTER JOIN TABLE_C ON TABLE_A.ID = TABLE_C.ID
>  AND TABLE_C.FIELD2 =/*FIELD2.VALUE*/

  ↑このANDの行はWHERE句に持っていくほうがいいのでは?

> WHERE
>  TABLE_A.FIELD1 = /*FIELD1.VALUE*/

というわけで、次のようになるんではないかと
思うのですがいかがでしょうか。

SELECT 
 TABLE_A.FIELD1,
 TABLE_A.FIELD2,
 TABLE_B.FIELD1,
 TABLE_B.FIELD2,
 TABLE_C.FIELD1,
 TABLE_C.FIELD2,
FROM 
 TABLE_A
 LEFT OUTER JOIN TABLE_B ON TABLE_A.ID = TABLE_B.ID
 LEFT OUTER JOIN TABLE_C ON TABLE_A.ID = TABLE_C.ID
WHERE
 TABLE_A.FIELD1 = /*FIELD1.VALUE*/
 AND TABLE_C.FIELD2 =/*FIELD2.VALUE*/

外してたらごめんなさいです〜。


-- 
羽生 章洋 <[E-MAIL ADDRESS DELETED]>




Seasar-user メーリングリストの案内