订单 订单明细 数量
201101 20110101 1
20110102 2
201102 20110201 1
20110202 3
类似这样的订单这一列有的值为空,但是计算的时候需要按上面的值,需要订单都填上
各位大虾门都来看看哈!
------解决方案--------------------
with TB as(select *,row_number() over(order by getdate()) as rowid from Tablename
select isnull(订单,(select top 1 订单 from TB where not 订单 is null and rowid<a.rowid order by rowid desc )) as 订单,订单明细,数量
from TB as a
------解决方案--------------------
--CREATE TABLE huang(订单 INT, 订单明细 int, 数量 int )
--INSERT INTO huang
--SELECT 201101, 20110101 , 1
--UNION ALL
--SELECT NULL ,20110102, 2
--UNION ALL
--SELECT 201102, 20110201 , 1
--UNION ALL
--SELECT NULL ,20110202 , 3
WITH cte
AS ( SELECT ROW_NUMBER() OVER ( ORDER BY GETDATE() ) id ,
*
FROM Huang
),
cte1
AS ( SELECT *
FROM cte
WHERE id = 1
UNION ALL
SELECT b.id ,
CASE WHEN b.订单 IS NULL THEN a.订单
ELSE b.订单
END 订单 ,
b.订单明细 ,
b.数量
FROM cte1 a