我有两个表:
currency_table_1
ID - currency_1
------------------
01 - EUR
02 - EUR
03 - EUR
04 - USD
05 - USD
06 - USD
currency_table_2
ID - currency_2
------------------
01 - EUR
02 - EUR
04 - JPY
05 - JPY
06 - JPY
07 - JPY
我想完全外部连接 ID 上的两个表。在结果表中,我喜欢添加一个 COUNT 列,该列对两个表的唯一货币组合的发生次数求和。如果另一个表中没有 ID/货币,则该组合中的货币值将显示为 [null]。对于上面的示例,结果表如下所示:
Count - currency_1 - currency_2
----------------------------------
3 - USD - JPY
2 - EUR - EUR
1 - EUR - [null]
1 - [null] - JPY
sql 是什么样的?我熟悉分组和加入,但到目前为止还没有成功。 感谢您的输入!
我认为这就是你想要的:
select ct1.currency_1, ct2.currency_2, count(*)
from currency_table1 ct1 full join
currency_table2 ct2
on ct1.id = ct2.id
group by ct1.currency_1, ct2.currency_2;