项目实例——多表关联查询判断A的字段是否在B中,在显示该字段值,不在显示空;B的字段是否在C中,在显示该字段值,不在显示空。
2024-10-09 02:45:08
1、需求:
(1)三张表A、B、C 三个表id相同,如果A表中的name在B表中的bname中显示aname值,否则显示空;如果C表中的addr在B表中的tel显示addr,否则显示空
2、实现方式
(1)用decode函数
select
a.id,a.name,b.bname,b.tel,c.addr ,
decode(a.name,b.bname,a.name,null) as aname,
decode(c.addr,b.tel,c.addr,null) as addr
from A a,B b,C c where a.id=b.bid and b.bid=c.cid and a.id=c.cid
效果图:
(2)用case....when....实现
select
a.id,a.name,b.bname,c.addr ,
(case when a.name in (select bname from b) then a.name
else '' end
)
from A a,B b,C c where a.id=b.bid and b.bid=c.cid and a.id=c.cid
效果图:
最新文章
- PHP-自定义模板-学习笔记
- C#委托的介绍(delegate、Action、Func、predicate) --转载
- 仿Spring读取配置文件实现方案
- ProgressBar样式(转)
- pig相关
- [转]What’s Behind Ericsson’s OpenWebRTC Project?
- C之函数指针
- 【Android &; iOS】应用升级实现
- Parade
- 51Nod 1080 两个数的平方和(数论,经典题)
- 第六周PTA作业
- SharePoint修改左上角文字的命令行
- 我的pwn笔记
- vue上传图片到服务器
- 对类的理解(c++)
- 算术运算,赋值运算,if语句,while,continue语句
- namespace main
- Oracle SQL之 序列使用限制
- 【转】svn http://提示svn: Unrecognized URL scheme错误
- Nginx服务器之负载均衡策略(6种)