字段为null排在上方,再按时间倒叙排

order by case when b.ID is null then 0 else 1 end,a.CreateTime desc

ALTER PROCEDURE [dbo].[up_Tb_ServiceWork_Paged]
 @pagesize int, --每页显示的记录数
 @pageindex int, --当前页索引,最小值为1
 @RecordCount int output, --总记录数,<0时不统计结果记录
 @ProName nvarchar(60),
 @CustName nvarchar(60),
 @LinkUser nvarchar(20),
 @BeginTime datetime,
 @EndTime datetime,
 @CheckState int,
 @BackState int,
 @Isdel int,
 @UserID nvarchar(40),
 @return int
AS
set nocount on
declare @indextable table(rowid int identity(1,1),nid nvarchar(40))
insert into @indextable(nid)--将符合的记录插入到临时表中
select a.ID from dbo.Tb_ServiceApply a
left join dbo.Tb_Project b on a.ProID=b.ProID
left join dbo.Tb_Customer c on c.ID=a.CustName
where b.ProName like '%'+@ProName+'%'
and c.CustName like '%'+@CustName+'%'
and a.LinkUser like '%'+@LinkUser+'%'
and ((a.ApplyDate between @BeginTime+' 00:00:00' and @EndTime+' 23:59:59') or(a.ApplyDate is null))
and a.CheckState=@CheckState
and a.Isdel=@Isdel
and a.BackState=@BackState

if(@RecordCount<0)
BEGIN
 select @RecordCount=COUNT(1) from @indextable
END

declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound--最多执行行数,若下面还有超过此值的行数,请注释此行


begin
select b.WorkDate,b.WorkType,b.Completion,ProName,d.ProCode
from Tb_ServiceApply a
inner join @indextable t on a.ID=t.nid
left join dbo.Tb_ServiceWork b on a.ID=b.ApplyID
left join dbo.Tb_SysDataDiction f on b.WorkType =f.ID
left join dbo.Tb_SysDataDiction g on b.Completion=g.ID
left join dbo.Tb_Project d on a.ProID=d.ProID
left join dbo.Tb_Customer h on h.ID=a.CustName
where a.ID=t.nid and t.rowid>@PageLowerBound and t.rowid<=@PageUpperBound
order by case when b.ID is null then 0 else 1 end,a.CreateTime desc
end

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值