条件加NOT EXISTS
有段sql 条件需要加NOT EXISTS语句
原本条件语句:
SQL code
where hzhbid = @hzhb and djb = @djb and bb= @bb
要求如果 @djb = 102 则条件后加
SQL code
NOT EXISTS(select * from tpDanJia where djb = 102 and pf=d.pf)
否则不加
------解决方案--------------------if @djb = 102
begin
加条件的查询语句
end
else
begin
不加条件的查询语句
end
------解决方案--------------------
我只是就是论事,没说一定要用啊,仅供参考而已。而且如果条件很多的话,可能if/else反而不好。
declare @sql nvarchar(max)
set @sql ='select * from 表 where hzhbid = '+CONVERT(hzhbid的类型,@hzhb)+' and djb = '+CONVERT(djb的类型,@djb)+' and bb= '+CONVERT(bb的数据类型,@bb)+''+case when @djb = 102 then 'and NOT EXISTS(select * from tpDanJia where djb = 102 and pf=d.pf) '
EXEC (@sql)
给你个大概,当然,如果条件就1、2个,用if/else就可以了