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

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 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决