关于提高算法的问题(高手请进)

蓝色风影 2006-11-06 10:23:26
算库存的问题。。

现在我有10000个货品,想算出他们各自的结存量。
我们进货,入货的TEST表如下:(些表有50000条记录)
TYPE WARHOUSE CODE QTY DATE
----------------------------------------
A WH01 CO01 5 02-14-2005
B WH01 CO02 10 02-14-2005
A WH01 CO01 12 01-15-2005
C WH01 C002 2 01-02-2005
B WH01 CO01 5 02-14-2005
B WH01 CO01 10 02-14-2005
C WH01 CO01 12 01-14-2005
A WH01 C001 2 01-02-2005
A WH01 CO01 5 02-18-2005
A WH01 CO01 10 02-14-2005
A WH01 CO01 12 01-14-2005
C WH01 C001 2 01-02-2005
D WH01 CO01 5 02-14-2005
D WH01 CO01 10 02-14-2005
E WH01 CO01 12 01-14-2005
F WH01 C001 2 01-02-2005
A WH01 CO01 5 02-14-2005
B WH01 CO02 10 04-12-2005
A WH01 CO01 12 01-14-2005
C WH01 C002 2 01-02-2005
A WH01 CO01 5 02-14-2005
B WH01 CO01 10 02-14-2005
A WH01 CO02 12 01-14-2005
C WH01 C001 2 01-02-2005
B WH01 CO01 5 02-14-2005
B WH01 CO01 10 02-14-2005
C WH01 CO01 12 01-14-2005
A WH01 C001 2 01-02-2005
A WH01 CO02 5 05-14-2005
A WH01 CO02 10 02-14-2005
A WH01 CO01 12 01-14-2005
C WH01 C001 2 01-02-2005
D WH01 CO01 5 02-14-2005
D WH01 CO02 10 02-14-2005
E WH01 CO01 12 01-14-2005
F WH01 C001 2 01-02-2005
A WH01 CO01 5 02-14-2005
B WH01 CO02 10 02-14-2005
A WH01 CO02 12 05-14-2005
C WH01 C001 2 01-02-2005
...
...
..


TYPE为A,B,C为进货, TYPE为D,E,F为出货
1。现在想得到所有货品(CO01,CO02,.....)所有进货量,出货量,结余数(时间在02-10-2005之前的结余)
2。现在想得到所有货品(CO01,CO02,.....)所有进货量,出货量,结余数(时间在02-10-2005之后的结余)

大家看看怎么算速度会最快。请大家帮忙。。。。。。。
...全文
226 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhhdyj 2006-11-07
  • 打赏
  • 举报
回复
SELECT CODE, SUM(CASE WHEN TYPE IN('A', 'B', 'C') THEN QTY ELSE 0 END) AS 进货量,
SUM(CASE WHEN TYPE IN('D', 'E', 'F') THEN QTY ELSE 0 END) AS 出货量,
SUM(CASE WHEN TYPE IN('A', 'B', 'C') THEN QTY ELSE -1 * QTY END) AS 结余数
FROM 表
WHERE DATE <= '02-10-2005'
GROUP BY CODE

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧