Waynediaofan 2018-12-18 15:40 采纳率: 0%
浏览 3553

SQL查询两张表的数据,优先查A表。没有就查B表?

怎么在两张表里查询存在的记录。例如A表有 id 和 name两个字段,B表也有id和name两个字段。怎么做到,先去查询A表id对应的name,如果A表的name为空 就去B表查id对应的name。B表是肯定有数据的,A表的name不一定有数据

  • 写回答

3条回答 默认 最新

  • LBJ_KING_JAMES 2022-08-08 11:47
    关注

    今天做报表的时候,客户提了一个需求,如果补录表没数据,就从系统出,补录标有数据则从补录表出,但是集市同事请假了,需求又着急,我只能直接写sql,利用full outer join 解决这个问题。

    select nvl(a.column,b.column) from a full outer join b on 1=1

    这里可以先查下

    select * from a full outer join b on 1=1

    会发现如果A表的数据和B表的数据行数不同,则会将数据少的表数量匹配到数据量大的表,最后再加一个全局的group by 去重就好了

    评论

报告相同问题?

悬赏问题

  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题