${if(len(aa) == 0,"","and bb =case when (select count(1) from #table where bb='" + aa+ "')>0 then '" + aa+ "' else bb end ")}
好像只有这种方式才能实现你的需求,(select * from #table where bb='" + aa+ "'),这里的表换成你bb字段所在的表,判断aa在这个表中是不是有数据,有数据则查询aa=bb的数据,如果没有数据,那条件就变成了bb=bb了,就是查询bb所有的数据了。