数据扩展问题

企业微信截图_1575352007842.png我有一个数据是11月1号录入的,怎么在SQL SERVER里自动扩展到今天(12-03)为止,就是数据是一样的,但是日期不一样。

lxy2 发布于 2019-12-3 11:49 (编辑于 2019-12-3 13:47)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
panying1990Lv4见习互助
发布于2019-12-3 12:29

建议将你的问题截图详细描述下

最佳回答
0
VincentSLv3见习互助
发布于2019-12-3 13:44(编辑于 2019-12-3 14:58)

递归生成日期:

declare @dt1 date

declare @dt2 date

select max(日期) = @dt1 from 工序表

set @dt2 = GETDATE();

WITH dates

as(

select @dt1 as dt

union all

select dateadd(day, 1, T1.dt) as dt from dates T1

where 1=1

and T1.dt < @dt2

)

SELECT * from dates,工序表


  • lxy2 lxy2(提问者) 我这个录入日期是会变的,假如第一次录入的时候是11-01,第二次录入的时候是11-15,那我要的是前面的数据是11-01到11-14的数据,然后改变之后的数据是11-15到现在是数据这种的
    2019-12-03 14:25 
  • VincentS VincentS 回复 lxy2(提问者) 你想要生成哪一段的日期,改@dt1,@dt2这两个参数值就行了
    2019-12-03 14:40 
  • lxy2 lxy2(提问者) 回复 VincentS 这两个参数值不能改成使用工序表里的日期吗
    2019-12-03 14:48 
  • VincentS VincentS 回复 lxy2(提问者) 比如开始日期@dt1取工序表里面的最大日期吗?
    2019-12-03 14:56 
  • lxy2 lxy2(提问者) 回复 VincentS 啊我不知道用文字怎么才能描述得清楚,就是你看一下我的图,假如有一个工厂对应的工序和物料类型的第一个目标值在11-01输入的,然后一直到11-15号修改了,只改目标值,工厂对应的工序和物料类型不变,那我想要的是第一个目标值只扩展到14号,然后15号一直到现在(假如期间没修改目标值)是第二个目标值,就是第一个目标值在15号以后是不存在的,你能理解我意思嘛
    2019-12-03 17:13 
最佳回答
0
machengLv3见习互助
发布于2019-12-3 14:37

写个with语句 查询出你想要的日期 然后join一下  事实表  

  • 4关注人数
  • 488浏览人数
  • 最后回答于:2019-12-3 14:58
    请选择关闭问题的原因
    确定 取消
    返回顶部