@str='select * from 表名 where 1=1'
if @place  <>''
    @str=@str+' and 地名地段 like ''%'+@place  +'%'''
........

解决方案 »

  1.   

    create proc 过程名
    @place varchar(100)='',
    @kinds varchar(100)=''
    as
    select * from 表 where basic like '%'+@place+'%'
    .......
      

  2.   

    basic 表:
    place  nvarchar  地名
    kinds  nvarchar  类型
    manage nvarchar  管理
    pinggu nvarchar  评估step5 表:
    profession nvarchar 专业
    money      nvarchar 费用job 表:
    bilu  nvarchar 概论要求同时操作这三个表,以上的条件可任选一项!也可全选!!
      

  3.   

    你说的还是模糊,自己要什么没说清楚?select b.place, b,kinds, b.manage, b.pinggu, s.profession, s.money, j.bilu
    from basic b, step5 s, job j
    where (你没有给出表之间的关联关系,怎么给你写?) and b.place like '%条件值%'其他模糊值搜索类似: b.place like '%条件值%' 的格式
      

  4.   

    create proc query_test
       @place varchar(200)='1=1',
       @kinds varchar(200)='1=1',
       @money varchar(200)='1=1',
       @profession  varchar(200)='1=1',
       @manage varchar(200)='1=1',
       @pinggu varchar(200)='1=1',
       @bilu varchar(200)='1=1',
       @keyword varchar(200)='1=1'asdeclare @sql varchar(8000)
    set @sql='select * from tablename where ' + @place  + ' and '+ @kinds + ' and ' + @money + ' and ' + @profession + ' and ' + @manage  + ' and ' + @pinggu+ 'and'+
    @bilu+'and '+ @keyword
    exec (@sql)
      
     调用:1、exec query_test 'place=xx','kinds=yy','money=zzz','profession  like ''aa%'''2、exec query_test 'place=a','kinds=b','money=c'3、exec query_test   --所有结果