如何把exists 改为 left join

论坛 期权论坛 脚本     
匿名技术用户   2020-12-30 05:40   33   0

exists方法:

SELECT top 10 * FROM  t
WHERE (PlanName LIKE '%关键字%' OR remark LIKE '%关键字%'  
   OR exists(SELECT pp.tpID FROM   pp
     JOIN points (NOLOCK) p ON p.id = pp.pointID
     where  p.PointName LIKE '%关键字%' and pp.tpID=t.ID
    )
  )

left join方法:

;WITH a AS(
 SELECT  distinct  pp.tpID
 FROM  pp  JOIN  p ON p.id = pp.pointID
    where  p.PointName LIKE '%关键字%' 
)
SELECT top 10 * FROM  t LEFT JOIN a ON t.ID = a.tpID
WHERE  (PlanName LIKE '%关键字%' OR remark LIKE '%关键字%' OR isnull(a.tpID,0) >0)


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP