使用动态SQL实现行列转换和按列递减的功能

本文通过示例展示了如何使用SQL动态SQL实现行列转换,以及在此基础上进行按列递减的计算。具体操作包括创建表变量存储数据,插入初始和使用数量,然后构建动态SQL语句进行数据处理,最终展示物料的初始数量和逐周减少后的剩余数量。
摘要由CSDN通过智能技术生成


      /*
   基本需求:
   库房里会记录每个物料每周的使用数量。
   报表要求显示物料的初始数量,及每周使用后的剩余数量。


   本例子使用两个功能,
   第一:行列转换
   第二:在行列转换的基础上,实现按列递减的功能


   为了方便阅读,对实现过程进行简化,对表进行简化,不加入过多的其他条件
   这是极简化版本
   直接复制到 2005及以上的查询分析器,即可运行得出结果
   */


   declare @d_startdate datetime  -- 开始的时间
   declare @i_week int -- 计算的周数
   declare @i int  -- 循环变量


   declare @c_month varchar(10)  


   declare @c_sql varchar(max)
   declare @c_sqlcalu varchar(max)
   
   declare @month_name varchar(10)
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值