0

左結合クエリに取り組んでいますが、期待した結果が得られません。何度も検索しましたが、この問題の原因を見つけることができませんでした。次のコードを実行すると、LEFT INNER JOIN (右側の項目に一致する左側のレコードのみ) の結果が返されます。LEFT OUTER を指定しようとしましたが、成功しませんでした。簡単なものがありませんか?

var records = ORMExecuteQuery("SELECT new map(inst.id AS installationId,
                                                inst AS installation,
                                                uaa.id AS id,
                                                uaa.permission AS permission,
                                                uaa.app AS app)
                                            FROM Installation AS inst, 
                                                LEFT JOIN inst.userApplicationAccesses AS uaa
                                                    WITH uaa.user.userId = ?", [Arguments.userId]);
4

1 に答える 1

0

さて、あなたの左の参加は奇妙です。テーブルではなく列に結合したままになり、その列は最初のテーブルの一部になります(名前として参照することもできます)。

外部結合は次のようになります。

Select *
From Table_A as A
Left Outer Join Table_B as B on B.ID = A.ID

はい、Table_AとTable_Bの両方を同じテーブルにすることができますが、そのテーブルは2回リストする必要があります。

于 2012-07-23T18:20:35.503 に答える