期初期末求思路和简要例子
表:供应商日结表
求:期初、期末
期初=昨天日结
期末=当天日结
期末又等于=明天的期初
问题:例如输入日期2012-5-3,期初减去1天也就是2012-5-2号,但是2012-5-2号库存为0,所以要查询到2012-5-3日之前的那个日结库存不为零的.
粗略点说就是输入日期A-B,A的期初只减了1 或许A-1库存为0,要求准确的期初,就是要求<A的库存不为0的到期末这天 共3条语句
/* 期初至当天*/
SELECT *
FROM tb1
WHERE Datediff(DAY,c_dt,@开始日期__datetime) <= 1 --查询开始日期之后的所有,与之前的1天
AND Datediff(DAY,c_dt,@结束日期__datetime) >= 0
/*当天*/
SELECT *
FROM tb1
WHERE datediff(day,c_dt,@结束日期__datetime) =0
/*前天(期初)*/
SELECT *
FROM tb1
WHERE datediff(day,c_dt,@开始日期__datetime) =1
------解决方案--------------------
t2.c_dt <=t1.c_dt
有的话,就是相等,
没有的话就是找之前的,就是小于