存储过程一条记录的过期时间变成另一条记录的开始时间

jerrybianjialei 2013-12-31 04:27:27
原先的查询条件如下
select t.*
from
(
select ROW_NUMBER() over(order by tb_crm_order_union.create_time desc) as rowId,tb_crm_order_union.id,tb_crm_order_union.username,[CRM_CONFIG].[dbo].[a_user].mobile,[CRM_CONFIG].[dbo].[a_user].email,tb_crm_order_union.item_code,tb_crm_order_union.start_time,tb_crm_order_union.pay_fee,tb_crm_order_union.due_time,DATEDIFF(day,tb_crm_order_union.start_time, tb_crm_order_union.due_time) buy_time

from tb_crm_order_union
INNER JOIN (SELECT max(due_time) max_due_time,username FROM tb_crm_order_union GROUP BY username) t on tb_crm_order_union.username = t.username

inner join [CRM_CONFIG].[dbo].[a_user] on tb_crm_order_union.username=[CRM_CONFIG].[dbo].[a_user].username
where 1=1 ' + @filter + '
) as t
where t.rowId >= ' + LTRIM(@startNo) + ' and t.rowId <= ' + LTRIM(@endNo);

现在有一个biz_type字段,1订单表示新订,3表示升级。
当biz_type=3时,同一username的原先的订单due_time=新订单的start_time,怎么修改存储过程呢?
...全文
68 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2013-12-31
  • 打赏
  • 举报
回复
不实时的话的确可以
jerrybianjialei 2013-12-31
  • 打赏
  • 举报
回复
感谢DBA_Huangzj的回答 已解决,可以另外写一个存储过程,定时更新,把已经升级的用户原先版本的due_time改成现有版本的start_time,这样查询的时候数据就是最新的了。
發糞塗牆 2013-12-31
  • 打赏
  • 举报
回复
给点数据来瞧瞧

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧