免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1386 | 回复: 0
打印 上一主题 下一主题

Oracle提问:如何从两个表中查询某同一字段的值? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-25 17:27 |只看该作者 |倒序浏览
背景介绍:有两个结构字段都一样的A表和B表,字段分别是Name和Number,唯一不同就是两表所含数据不同。
现在需要通过Name去查询Number。先从A表查起,如果A表没有返回值,就去B表查询并返回B表中的值。A表和B表的值不同。

比如A表:                                      比如B表:
colum   Name   Number                 colum   Name   Number
===============                ===============
1          张三      13                         1          王五      33
2          李四      22                         2          李七      12
3          王麻子   21                         3          兔子      41
...                                                ...

比如我要查询Name=“王五”的人,就先从A表查,如果没有,就从B表查。
我现在的办法是:
select name, number from
( select name, number from Tablea
union all
select name, number from Tableb)
where name = "王五"

但本人觉得此法并不高明,因为还需要从其他表中提取另外的字段,sql需要简单快捷的好。
请问下高手还有没有其他更好更方便的办法呀????
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP