ResponseParamstringPage.aspx
请选择搜索条件搜索条件字段如下4个:
字段一   字段二   字段三  字段四
培训种类 班级性质 班号    开课日期搜索关系如下:
1、培训种类和班级性质为联合组合搜索2、班级编号或开课日期与培训单独搜索3、培训种类与班级性质和班号与开课日期互不干扰
求解怎样写T-SQL语句才能根据ResponseParamstringPage.aspx参数搜索出结果显示在requestPagamstringPage.aspx页面中

解决方案 »

  1.   

    只能用一个Button实现这个复杂搜索阿
      

  2.   

    模糊查询create procedure GetAllByAll
    @type varchar(50)=null ,
    @class varchar(50)=null,
    @ID varchar(50)=null,
    @time datetime =null
    as
    select * from t
    where 
    (@type is null or type=@type)
    and
    (@class is null or class=@class)
    and
    (@ID is null or ID=@ID)
    and
    (@time is null or time=@time)--type培训种类 class班级性质 id班号    time开课日期 在做修改就可以了,或把数据贴出
      

  3.   


    if object_id('tempdb.dbo.#t') is not null drop table #t
    create table #t ([ID] int,[Name] varchar(1),[Num] int)
    insert into #t
    select 1,'a',11 union all
    select 1,'a',22 union all
    select 1,'c',22
    go
    create procedure GetAllByAll
    @ID int=null ,
    @Name varchar(50)=null,
    @Num int=null
    as
    select * from #t
    where 
    (@ID is null or ID=@ID)
    and
    (@Name is null or Name=@Name)
    and
    (@Num is null or Num=@Num)
    go
    exec GetAllByAll 1,null,null
    go
    exec GetAllByAll 1,'a',null
    go
    exec GetAllByAll 1,'a',22go
    drop proc GetAllByAll
    drop table #t
      

  4.   

    求教
    SELECT Subject.开课编号, Subject.开课状态, Subject.班级编号, Class.班级性质, Subject.培训种类, Subject.上课时间, Subject.地点, Subject.费用, Subject.网上报名 FROM Subject INNER JOIN Class ON Subject.班级编号 = Class.班级编号 AND Subject.班级编号 = Class.班级编号 WHERE (((Subject.培训种类 = @paramTrainclass) OR (@paramTrainclass IS NULL)) AND ((Class.班级性质 = @paramClass) OR (@paramClass IS NULL))) OR ((Class.班级编号=@paramClassNo) OR (@paramClassNo IS NULL))为什么给Subject.培训种类和Class.班级性质传非空值后无法显示记录? 有逻辑错误吗?
      

  5.   

    求教
    SELECT Subject.开课编号, Subject.开课状态, Subject.班级编号, Class.班级性质, Subject.培训种类, Subject.上课时间, Subject.地点, Subject.费用, Subject.网上报名 FROM Subject INNER JOIN Class ON Subject.班级编号 = Class.班级编号 AND Subject.班级编号 = Class.班级编号 WHERE (((Subject.培训种类 = @paramTrainclass) OR (@paramTrainclass IS NULL)) AND ((Class.班级性质 = @paramClass) OR (@paramClass IS NULL))) OR ((Class.班级编号=@paramClassNo) OR (@paramClassNo IS NULL))为什么给Subject.培训种类和Class.班级性质传非空值后无法显示记录? 有逻辑错误吗?
      

  6.   


    用like 进行模糊查询吧