表a
编码 名称
1111 aa
2222 bb
3333 cc
4444 dd表b
编码 金额
1111 12.00
2222 36.00表c
编码 金额
3333 10.00
查询出以下结果:
编码 名称 金额1 金额2
1111 aa 12.00 0.00
2222 bb 36.00 0.00
3333 cc 0.00 10.00
4444 dd 0.00 0.00也就是以a表为准,b表、c表没有的显示0
编码 名称
1111 aa
2222 bb
3333 cc
4444 dd表b
编码 金额
1111 12.00
2222 36.00表c
编码 金额
3333 10.00
查询出以下结果:
编码 名称 金额1 金额2
1111 aa 12.00 0.00
2222 bb 36.00 0.00
3333 cc 0.00 10.00
4444 dd 0.00 0.00也就是以a表为准,b表、c表没有的显示0
解决方案 »
- 求教!ORACLE什么对象我可以select但是在ALL_OBJECTS中查询不到
- 利用plsql 如何获得指定目录下的文件信息?
- 我想在select 查询语句的结果集中,增加一个id字段,标记记录的顺序号,怎么办呢?
- 关于oracle并行执行过程
- 如果在ORACLE数据库中,实现海量数据存储(TG以上)?
- select a.*,b.* from a join b 在oracle9i下能用,但是在8i下不能用。
- 关于oracle9i的培训!
- 给CSDN提个建议: 请把给分系统作的完善点!
- c语言编写oracle数据库,使用游标,然后死在循环里了
- Oracle+PHP 按照这样方式搭建【游戏管理平台】的【数据库】如何优化?
- 如何将一些句子转换成存储过程
- oracle存储过程的问题
nvl((select b.金额 from b where b.编码 = a.编码),0) 金额1,
nvl((select c.金额 from c where c.编码 = a.编码),0) 金额2
from a
select a.*,
nvl((select b.金额 from b where b.编码 = a.编码),0) 金额1,
nvl((select c.金额 from c where c.编码 = a.编码),0) 金额2
from a--2、left join
select a.* , nvl(b.金额,0) 金额1,nvl(c.金额,0) 金额2
from a left join b on a.编码 = b.编码
left join c on a.编码 = c.编码
From 表A t1, 表B t2, 表C t3
where t1.编码 = t2.编码(+)
and t1.编码 = t3.编码(+);