这是我以前的的延续。我有这样一个表: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
如果我运行此查询:
SELECT
[Id],
count([Return Amount]) as 'Returns'
FROM
table2
GROUP BY [Id]
我得到这个表:
Id Returns
1 2
9 2
21 1
41 1
我需要这两个表结合起来,创造一个像这样的表:
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.Returns是什么结果? – Kostis