は、グループバイおよび右外側結合を組み合わせる必要があります。右外側結合によるグループ化
テーブルAには "A"、 "B"、 "C"、 "D" の基を有する
テーブルB有する:12 | 2 | B 1 | 5 | B 3 | Dを数回。
このようなグループによるビューとしてIグループテーブルB:
ViewB:13 | 7 | B 3 | D
あなたが見ることができるように、グループ "C" でありますTableBではなく、ViewBではなく。
cをどのように私はそれをachiveすることができます| 7 | | B 3 | Dヌル
ViewB 13:私はいくつかの外側には、次のように参加する必要がありますか?
UPDATE。 この単純な例では複雑さについては説明していません。 私は3番目のテーブル "ユーザ"を持っています 各ユーザごとに、各TableA-Valuesのためにグループ化してください。 例
userA| 13| a userA| 7 | b userA| 3 | d userB| 10| a userB| 70 | b userB| 30 | d
グループ "c" はTableBのではありません(TableBのは、グループの値が含まれています) 私はこのようなクエリしてみてください:
:select right outer join TableA on TableB.id = TableA.id join TableC on TableB.other_id = TableC.other_id group by TableB.groups
を私はちょうどこのような何かを得ます
null| null| c userA| 13| a userA| 7 | b userA| 3 | d userB| 10| a userB| 70 | b userB| 30 | d
しかし、私は必要があります。
|userA| 13| a |userA| 7 | b |userA| 3 | d |userA| NULL| c |userB| 10| a |userB| 70 | b |userB| 30 | d |userB| NULL | c
UPDATE_2 ご迷惑をおかけして申し訳ございません。
http://sqlfiddle.com/#!4/71069
マイSQL-クエリ、次のようにルックスをextentedする必要があります:
SELECT usr.user_name, SUM (lg_all.new_values) AS group_sum, allw.group_name FROM users usr, products lg_all, myGroup allw WHERE usr.user_id = lg_all.user_id AND allw.group_id = lg_all.group_id GROUP BY (usr.USER_ID, allw.group_name) ORDER BY usr.LOGONUSER_ID DESC
私の結果は次のようになります。私は、OracleここではG11 たとえば、スキーマのリンクであるを使用し
userA| 13| a userA| 7 | b userA| 3 | d userB| 10| a userB| 70 | b userB| 30 | d
しかし、私は必要があります。
|userA| 13| a |userA| 7 | b |userA| 3 | d |userA| NULL| c |userB| 10| a |userB| 70 | b |userB| 30 | d |userB| NULL | c
Thx。
あなたは正しい参加を試みましたか? –