我知道有很多解决方案,但不幸的是我无法使用分区或关键字TOP。没有什么我在早期的帖子上尝试过。当前行为NULL时选择最后一个非NULL值
我的表看起来像这样:
我想要的结果是,当所有的完成率是NULL
它应该从最后一个非值完成百分比值,如:
我试过这个查询,但没有任何效果。你能告诉我我要去哪里吗?
SELECT sequence,project_for_lookup,
CASE WHEN completion_percentage IS NOT NULL THEN completion_percentage
ELSE
(SELECT max(completion_percentage) FROM [project_completion_percentage] AS t2
WHERE t1.project_for_lookup=t2.project_for_lookup and
t1.sequence<t2.sequence and
t2.completion_percentage IS NOT null
END
FROM [project_completion_percentage] AS t1
我不能使用关键字TOP或外部应用。它给出了错误 –
发现了OUTER,但预期的表达结束 –
@NishaNethani。 。 。然后我会得出结论,您没有使用SQL Server 2008,如您问题上的标记所示。 –