号码段使用情况计算
--入库单据号码情况:入库日期,号码开始号,号码结束号
select ddate,instartno,inendno from tb01
2012-12-6/10000/20000
2012-12-8/60000/90000--领用单据号码情况:领用日期,号码开始号,号码结束号
select ddate,outstartno,outendno from tb02
2012-12-7/10000/16000
2012-12-12/60000/70000
2012-12-25/80000/85000
SQL查询截止某一天的库存情况,结存开始号,结存结束号
例如:2012-12-31剩余库存报表
balstartno,balendno
16001/20000
70001/79999
85001/90000

解决方案 »

  1.   

    个人想法,未实践,供参考。
    1、你可以使用UNION ALL将上面的两张表合并起来,同时要将其中的时间段拆分成时间点,加上两个标志位,用以区分起止,以及包含与去除。
    按号码排序后,可以得到一张这样的表。
    号码   起始或结束  排除或包含
    10000   1          1
    10000   1          0
    16000  -1          0
    20000  -1          1
    ……
    再对这个表再进行处理,应该可以得到所需吧。
    2、你要得到的那张表是实际需求吗?如果仅仅只是你设想出来的辅助性的表,那我想说,解决问题的办法有很多,或许你可以换个办法。