不通过程序进行分区 [英] partition by not working in procedure

查看:93
本文介绍了不通过程序进行分区的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

朋友们。

我需要从此程序获取每个courierid的最新更新数据。当我独立运行这个代码时,它工作正常。但是在程序中它总是返回零。请帮助我。



Hello friends.
I need to get latest updated data for every courierid from this procedure . When i am running this code independenatly , it is working fine .But in procedure it is always returning zero.Please help me .

alter procedure dbo.d
as begin
  declare @TotalPickedUp int  =0
 set @TotalPickedUp=((  SELECT count(*)
FROM   (
         SELECT c.courierid
                , rn = ROW_NUMBER() OVER (PARTITION BY cs.courierid ORDER BY date DESC)
         FROM   courierstatus_tracker cs inner join courier c on c.courierid=cs.courierid
          where  cast(c.courierdate as date)='2014-07-24 00:00:00.000'  and
 (cast(cs.Pickedup_ActualDate as date)<=cast('2014-07-28 00:00:00.000' as date)
 or cast(cs.date as date)<=cast('2014-07-28 00:00:00.000' as date)
 ) and
 c.Productorservices='Reverse Pickup'  and cs.reasonid>=31) bt
WHERE  rn = 1))

select @TotalPickedUp  as data
end

推荐答案

这篇关于不通过程序进行分区的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆