Kevenkh 2022-08-26 11:28 采纳率: 50%
浏览 62
已结题

三表查重语句怎么优化

select case when b.id1 = null then c.id1 else b.id1 end as id1 from a join b on b.id1=a.id1 left join c on c.id1=a.id1 where a.guid='1e50e435-cece-4dcd-b89d-a4bc029745b2'

有三个表。主表,备份表,临时表。 数据是批量导入到临时表当中的,然后需要对备份表跟主表查询有没有重复并显示,列名都是一样的。这个语句该怎么优化试了左连接效率不太高。

  • 写回答

1条回答 默认 最新

  • zxj888888 2022-08-26 14:20
    关注
    
    select case when b.id1 = null then c.id1 else b.id1 end as id1
    from (select * from a where  a.guid='1e50e435-cece-4dcd-b89d-a4bc029745b2') D,b,c
    WHERE D.id1=B.id1 AND D.id1=c.id1
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月10日
  • 已采纳回答 9月2日
  • 创建了问题 8月26日