问题描述
- oracal多表关联查询,如下表,关联字段的值都保留,其他字段的值没有就用0补充
-
tb1
ID 区域 信息
1 A 11111
2 B 2222
3 C 3333
4 D 444444
5 E 555555
6 F 66666
tb2
区域 可控量
A 5
B 11
E 27
tb3
区域 收入
A 62
B 310
G 448
H 87
查询结果:
区域 可控量 收入
A 5 62
B 11 310
C 0 0
D 0 0
E 27 0
F 0 0
G 0 448
H 0 87
解决方案
with a as(select 区域 from tb1 union
select 区域 from tb2 union
select 区域 from tb3)
select a.区域,(case when tb2.可控量 is null then 0 else tb2.可控量 end) 可控量,
(case when tb3.收入 is null then 0 else tb3.收入 end) 收入
from a left join tb2 on a.区域 = tb2.区域
left join tb3 on a.区域 = tb3.区域
order by 区域
时间: 2024-11-01 06:19:46