我想计算开头股票,如链接图片所示,我有数百万条记录和100多个位置。任何人都可以指导我。我已经使用了上面提到的打击查询,但是这个查询在数百万条记录中也显示出来。
创建表#temp ( item nvarchar(20), 位置nvarchar(10), [交易日期]日期, 价格小数(20,2), 数量int, price_Change decimal(20,2))
插入#temp SELECT'Itm-005','A','2017-01-05','10','13','0'
UNION ALL SELECT'Itm-007','A','2017-01-15','15','20','0'
UNION ALL SELECT'Itm-007','B','2017-01-16','14','14','0'
UNION ALL SELECT'Itm-007','A','2017-01-21','17','6','2'
UNION ALL SELECT'Itm-005','A','2017-01-25','8','17',' - 2'
UNION ALL SELECT'Itm-007','A','2017-01-27','13','6','-4'
从#temp
中选择*选择项目,位置,[交易日期],价格,数量,价格变化 ,(从#temp c中选择isnull(sum(qty),0),其中c.item = p.item和c.Location = p.Location和c。[Transaction Date]< p。[Transaction Date])[Opening股票] 来自#temp p
答案 0 :(得分:0)
感谢所有人,
虽然种子很慢,但我已经解决了同样的问题。查询如下: -从#temp c中选择项目,位置,[交易日期],价格,数量,价格变化,(选择isnull(sum(qty),0),其中c.item = p.item和c.Location = p.Location和c。[交易日期]< p。[交易日期])[开盘股票]来自#temp p