sql完全外部联接+分组依据+计数列

wlsrxk51  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(527)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

11个月前关门了。
改进这个问题
我有两张table:
货币表1

  1. ID - currency_1
  2. ------------------
  3. 01 - EUR
  4. 02 - EUR
  5. 03 - EUR
  6. 04 - USD
  7. 05 - USD
  8. 06 - USD

货币表2

  1. ID - currency_2
  2. ------------------
  3. 01 - EUR
  4. 02 - EUR
  5. 04 - JPY
  6. 05 - JPY
  7. 06 - JPY
  8. 07 - JPY

我想将id上的两个表完全外部联接起来,在结果表中我想添加一个count列,它将两个表的唯一货币组合的出现次数相加。如果另一个表中分别没有id/货币,则该组合中的货币值将显示为[null]。对于上面的示例,结果表如下所示:

  1. Count - currency_1 - currency_2
  2. ----------------------------------
  3. 3 - USD - JPY
  4. 2 - EUR - EUR
  5. 1 - EUR - [null]
  6. 1 - [null] - JPY

sql看起来怎么样?我对groupby和joins很熟悉,但到目前为止还没有成功。谢谢你的意见!

ztigrdn8

ztigrdn81#

我想这就是你想要的:

  1. select ct1.currency_1, ct2.currency_2, count(*)
  2. from currency_table1 ct1 full join
  3. currency_table2 ct2
  4. on ct1.id = ct2.id
  5. group by ct1.currency_1, ct2.currency_2;

相关问题