【问题标题】:sql merge two table and formatsql合并两个表并格式化
【发布时间】:2021-03-23 14:41:30
【问题描述】:

表 SRN

id ACC DEPART
1 A IT
2 A FINANCE
3 A AEROSPACE
4 B IT
5 B FINANCE
6 B AEROSPACE

表 TRN

id ACC IT POPULATION FINANCE POPULATION AEROSPACE POPULATION
1 A 10 20 30
2 B 95 105 110

最终结果

ACC DEPART IT POPULATION FINANCE POPULATION AEROSPACE POPULATION
A IT 10 0 0
A FINANCE 0 20 0
A AEROSPACE 0 0 30
B IT 95 0 0
B FINANCE 0 105 0
B AEROSPACE 0 0 110

如何格式化表格以获得最终结果。我尝试使用左连接,但不确定如何将格式更改为所需的结果。

【问题讨论】:

标签: mysql sql db2


【解决方案1】:

您可以将left joincase 一起使用:

select s.acc, 
       s.depart,
       case when s.depart = "IT" then t.it_pop else 0 end `IT POPULATION`,
       case when s.depart = "FINANCE" then t.fin_pop else 0 end `FINANCE POPULATION`,
       case when s.depart = "AEROSPACE" then t.aer_pop else 0 end `AEROSPACE POPULATION`
from srn s left join trn t on s.acc = t.acc;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    相关资源
    最近更新 更多