日期:2014-05-17  浏览次数:20686 次

大家进来帮忙,求一条语句,是求周期的
按過去四週銷售件排或倒排序
STOCK_NO8 款号
FIRSTWEEK 進貨週數(由進貨首日計算除7天)
TTL_SI 累計進货件
BALANCE 現庫存件
W201013 2010第13週銷售件
W201012 2010第12週銷售件
W201011 2010第11週銷售件
W201010 2010第10週銷售件
WEEK_TOTAL 過去四週銷售件
件成本
成本 只計新季貨
新貨成本% 只計新季貨

以上需求中,进货周期,怎么求出当前时间是进货后的第几周
还有就是周期销售件中,是求当前星期的上四个星期的销售件,怎么写哦,研究了两个小时,搞不懂!
大家帮帮忙,我先谢谢了!

------解决方案--------------------
楼主咋描述不清楚呢?
描述问题三要素:
1、表结构
2、数据
3、想要结果
------解决方案--------------------
探讨
楼主咋描述不清楚呢?
描述问题三要素:
1、表结构
2、数据
3、想要结果

------解决方案--------------------
建表语句能看下不
------解决方案--------------------
第一个得看你怎么设计表了,或者在库管理是否先进先出来考虑
第二个问题解决方案
SELECT SUM(DECODE(CEIL((SYSDATE - T.销售日期) / 7) , 0, T.销售数, 0)) AS 过去第1周销售,
SUM(DECODE(CEIL((SYSDATE - T.销售日期) / 7) , 1, T.销售数, 0)) AS 过去第2周销售,
SUM(DECODE(CEIL((SYSDATE - T.销售日期) / 7) , 2, T.销售数, 0)) AS 过去第3周销售,
SUM(DECODE(CEIL((SYSDATE - T.销售日期) / 7) , 3, T.销售数, 0)) AS 过去第3周销售
FROM 销售明细表 T

是以当前日期反推的一周,假设当前是星期3,则过去第一周统计数为上周3至本周2



------解决方案--------------------
利用trunc(DATECOL,'iw')
举个例子,求上个星期的。with as里面的是测试数据
WITH tt AS(
SELECT DATE'2010-4-11' rq,11 amount FROM dual
UNION ALL SELECT DATE'2010-4-17',20 FROM dual)

SELECT *
FROM tt
WHERE rq>=trunc(SYSDATE,'iw')-7
and rq<trunc(sysdate,'iw')
------解决方案--------------------
LZ,你一定在一个SQL里面实现所有的功能吗?