【发布时间】:2015-03-19 06:13:45
【问题描述】:
我有一个非常奇怪的业务需求,我需要使用以下两个表来满足:
STOCK_TB (As of 20150319)
PRODUCT_ID STOCK_QTY
A 20
B 15
STOCK_MODIFIED_TB
PRODUCT_ID MODIFIED_QTY MODIFIED_DATE_FROM MODIFIED_DATE_TO
A 10 20150315 20150318
B -5 20150314 20150316
A -2 20150314 20150316
STOCK_TB 表示当前库存量,而 STOCK_MODIFIED_TB 表示某个日期范围内修改的库存量。我需要选择以前日期的股票结果。假设在 20150319 检索到日期为 20150314-20150319 的结果。结果应该是这样的:
DATE PRODUCT_ID STOCK_QTY
20150314 A 18
20150314 B 10
20150315 A 28
20150315 B 10
20150316 A 28
20150316 B 10
20150317 A 30
20150317 B 15
20150318 A 30
20150318 B 15
20150319 A 20
20150319 B 15
换句话说,将根据 STOCK_MODIFIED_TB 中给定的日期范围来添加/减去以前日期的股票
在没有光标的情况下可以选择这样的数据吗?
【问题讨论】:
标签: sql sql-server sql-server-2008-r2