多条件组合查询 非常好的一段存储过程SQL代码

CREATE PROCEDURE UP_PM_Drive_GetList_Query
@DriveDepartmentID nvarchar(10),
@DriveHangdaoID nvarchar(10),
@DriveBanciID nvarchar(10),
@begin datetime,
@end datetime

 AS
declare @strSql varchar(8000)
set  @strSql = '
 SELECT PM_Drive.DriveID,PM_Department.DepName, PM_38._38Type,
      PM_Hangdao.HangdaoName, PM_Drive.DriveKaituohangdao,
      PM_Drive.DriveOutput, PM_Drive.DriveTime
FROM PM_Drive INNER JOIN
      PM_Department ON
      PM_Drive.DriveDepartmentID = PM_Department.DepID INNER JOIN
      PM_38 ON PM_Drive.DriveBanciID = PM_38._38ID INNER JOIN
      PM_Hangdao ON PM_Drive.DriveHangdaoID = PM_Hangdao.HangdaoID
      WHERE  PM_Drive.DriveTime  between   '''+convert(varchar(30), @begin)+'''      and   '''+convert(varchar(30), @end)+''' 
'
 
if( @DriveDepartmentID<>'')
begin
set  @strSql=@strSql+'and   PM_Drive.DriveDepartmentID= '+convert(varchar(10), @DriveDepartmentID)
end

 

if(@DriveHangdaoID<>'')
begin
set  @strSql=@strSql+'and   PM_Drive.DriveHangdaoID='+convert(varchar(10), @DriveHangdaoID)
end

 

if(@DriveBanciID<>'')
begin
set  @strSql=@strSql+' and   PM_Drive.DriveBanciID='+convert(varchar(10), @DriveBanciID)
end

 

exec(@strSql)


GO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值