怎么在两张表里查询存在的记录。例如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 去重就好了
评论 打赏 举报解决 1无用