| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 4179 人关注过本帖
标题:关于设置日期过滤条件的问题
取消只看楼主 加入收藏
qdxqiang
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-9-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
关于设置日期过滤条件的问题
select
      (case when  ddate>=U.dBegin then
            CASE WHEN RdRecord.bRdFlag <>0 THEN 1 ELSE -1 END ELSE 0 END) * convert(decimal(38,8),iquantity)  as iquantity,
      (case when  ddate>=U.dBegin then
            CASE WHEN RdRecord.bRdFlag <>0 THEN 1 ELSE -1 END ELSE 0 END ) * (case  Inventory.iGroupType when  0 then Null when 1 then
               iquantity/Cu_f.iChangRate else rdrecords.iNum end  )  as iNum,
      (case when  ddate>=U.dBegin then 0 else
            CASE WHEN RdRecord.bRdFlag <>0 THEN 1 ELSE -1 END  END) * convert(decimal(38,8),iquantity)  as iQCJCSL
from  
    rdrecord inner join rdrecords on rdrecord.id=rdrecords.id
             inner join inventory on rdrecords.cinvcode=inventory.cinvcode
             inner join UFSystem..UA_Period  U ON  dbo.RdRecord.dDate <=U.dEnd
---UA_Period是月结区间表,dBegin是每个月的月初日期,dEnd是每个月的月末日期。
以上代码受UA_Period表中值的限制,只能取出当月的值,跨月取不到值,而且不能取任何日期区间的值。
想达到的效果,通过什么方式替换UA_Period表,通过日期区间过滤条件,可以取到任一区间的值,日期过滤条件最好不要分成两个,而是一个日期过滤条件,从****到****区间来过滤。
本人初接触SQL代码,请各位帮助解答,谢谢!




[此贴子已经被作者于2016-9-27 15:26编辑过]

2016-09-27 15:24
qdxqiang
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-9-27
收藏
得分:0 
咋没人回答呢?
2016-09-27 16:05
qdxqiang
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-9-27
收藏
得分:0 
回复 3楼 mywisdom88
谢谢提醒,这个表是ERP系统中的收发存汇总表中的部分代码,逻辑有点复杂,我再重新整理一下。
2016-09-28 09:09
qdxqiang
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-9-27
收藏
得分:0 
rdrecord表               
id-主表标识    date-日期    bRdFlag-收发标识(出为0,入为1)    bIsSTQc-库存期初标识   
1    2015-12-31                 1                                 1   
2    2016-1-13                1                                 0   
3    2016-2-5                0                                 0   
4    2016-2-11                1                                 0   
5    2016-3-10                0                                 0   
6    2016-4-12                1                                 0   
7    2016-5-11                1                                 0   
8    2016-5-28                1                                 0   
               
rdrecords表               
AutoID-子表标识    id-主表标识    cInvCode-存货编码    iquantity-数量   
1                  1                001                   10   
2                  2                002                   20   
3                  2                001                   10   
4                  3                003                   30   
5                  4                001                   20   
6                  5                002                   10   
7                  5                003                   20   
8                  5                003                   30   
9                  6                002                   10   
10                  6              003                   20   
11                  7                001                   30   
12                 8                002                   20   
               
求存货2月-4月份的收发存汇总(要得到的结果,日期区间可变动,结果也会发生变化)               
存货编码    期初数量    累计入库    累计出库    结存数量
001            20               20             0             40
002            20               10            10             20
003            0               20            80            -60
想通过一段代码达到以上效果,前期的代码是我引入系统中现有的逻辑(部分),但未解决日期过滤的问题,请高手指点,谢谢。


[此贴子已经被作者于2016-9-28 10:24编辑过]

2016-09-28 10:18
qdxqiang
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-9-27
收藏
得分:0 
回复 5楼 厨师王德榜
我对存储过程是小白,不太懂。实际使用时日期区间是根据日期过滤条件变动的,并不是一个固定的值,所以不能限定死日期区间。
2016-09-28 10:23
qdxqiang
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2016-9-27
收藏
得分:0 
回复 8楼 mywisdom88
呵呵,这是ERP系统中出入库表的表头和表体信息,是分成两个表的,这个我不能改动,只能从这两个表中进行取值。
2016-09-29 10:30
快速回复:关于设置日期过滤条件的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.131826 second(s), 11 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved