我有两个表:
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看起来如何?我对group by和join很熟悉,但是到目前为止还没有成功。感谢您的输入!
我认为这是您想要的:
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;