これは以前のの続きです。私はこのようなテーブルを持っている:SQLパーシャルフルアウター参加
Name Id Amount
Name1 1 99
Name1 1 30
Name1 9 120.2
Name2 21 348
Name2 21 21
Name3 41 99
私はこのクエリを実行する場合は、フアン・カルロスOropezaのおかげ:
SELECT
[Name],
[Id],
count([Amount]) as 'Count'
FROM
table1
GROUP BY [Name], [Id]
私はこのテーブルを取得:
Name Id Count
Name1 1 2
Name1 9 1
Name2 21 2
Name3 41 1
は今、私は別のテーブルを持っていますこのように:
Id Return Amount
1 100
1 134.3
9 912.3
9 21
21 23.23
41 45
If私はこのクエリを実行します。
SELECT
[Id],
count([Return Amount]) as 'Returns'
FROM
table2
GROUP BY [Id]
私はこのテーブルを取得:
Id Returns
1 2
9 2
21 1
41 1
私はこのようなテーブルを作成するには、これらの2つのテーブルを結合する必要があります。ここでは
Name Id Count Returns
Name1 1 2 2
Name1 9 1 2
Name2 21 2 1
Name3 41 1 1
は私の完全外部結合ですステートメント:
SELECT
[Name],
[Id],
count([Amount]) as 'Count'
FROM table1 AS A
FULL OUTER JOIN (
SELECT
[Id],
count([Count]) as 'Returns'
FROM
table2
GROUP BY [Id]
) B ON A.[Id] = B.[Id]
GROUP BY [Name], [Id]
しかし、それは私に次の表に示します:
Name Id Count
Name1 1 2
Name1 9 1
Name2 21 2
Name3 41 1
にはどうすればReturns
列が接続するのですか?私はこの場合に使用する結合がわからないが、最高の教育を受けた答えは完全な外部結合になるだろう。何か案は?
あなたの質問には、B.を選択して結果を返しますか? – Kostis