SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
105 个问题
我有一张Demo表,status列中有些行是NULL,我想要将这些NULL向下填充,比如说:234行填充为‘RE’;第6行填充为‘PR‘。
DECLARE @Demo TABLE (ID INT, status VARCHAR(2))
INSERT INTO @Demo VALUES
(1,'RE'),
(2,NULL),
(3,NULL),
(4,NULL),
(5,'PR'),
(6,NULL),
(7,'RE')
有什么方法吗?
试试这个查询:
SELECT D1.*, COALESCE(D1.status, S.status) AS New_Status
FROM @Demo D1 OUTER APPLY
(SELECT TOP 1 status
FROM @Demo D2
WHERE D2.ID < D1.ID and D2.status IS NOT NULL
ORDER BY D2.ID DESC
) S;
如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。