22,209
社区成员
发帖
与我相关
我的任务
分享
--> 测试数据:#tb
IF OBJECT_ID('TEMPDB.DBO.#tb') IS NOT NULL DROP TABLE #tb
GO
CREATE TABLE #tb([TaxDate] VARCHAR(10),[CardCode] VARCHAR(4),[CardName] VARCHAR(9),[U_DocCode] INT,[temCode] INT,[Quantity] VARCHAR(8),[PriceAfVAT] NUMERIC(3,2),[U_PrNote3] VARCHAR(4),[UserName] VARCHAR(4))
INSERT #tb
SELECT '2012-7-15','J036','sdddddddd',11111,1130188,'20.00',3.13,'包装','张三' UNION ALL
SELECT '2012-7-18','J036','sdddddddd',11210,1130188,'1,000.00',3.32,'包装','李四' UNION ALL
SELECT '2012-7-19','J036','sdddddddd',11266,1130188,'572.00',3.30,'包装','李要' UNION ALL
SELECT '2012-7-23','J036','sdddddddd',11404,1130188,'2,000.00',3.00,'包装','张左' UNION ALL
SELECT '2012-10-17','J036','sdddddddd',12675,1130188,'9,110.00',3.25,'包装','张有' UNION ALL
SELECT '2012-10-24','J036','sdddddddd',11404,1130188,'2,000.00',3.12,'包装','张左' UNION ALL
SELECT '2012-10-25','J036','sdddddddd',12675,1130188,'9,110.00',3.18,'包装','张有'
--------------开始查询--------------------------
SELECT *, 原单价=(select top 1 [PriceAfVAT] from #tb where [TaxDate]<dateadd(mm,-3,t.[TaxDate]) order by [TaxDate] desc )
FROM #tb as t where [TaxDate] between '2012-10-01' and '2012-10-31'
----------------结果----------------------------
/*
TaxDate CardCode CardName U_DocCode temCode Quantity PriceAfVAT U_PrNote3 UserName 原单价
2012-10-17 J036 sdddddddd 12675 1130188 9,110.00 3.25 包装 张有 3.13
2012-10-24 J036 sdddddddd 11404 1130188 2,000.00 3.12 包装 张左 3.00
2012-10-25 J036 sdddddddd 12675 1130188 9,110.00 3.18 包装 张有 3.00
*/