SQL Server:插入新行以填补空白,以完成系列,直至达到特定上限

SQL Server:插入新行以填补空白,以完成系列,直至达到特定上限,sql,sql-server,Sql,Sql Server,[proc_cnt1系列从1到6的数据集(6或更多称为6+)] 我需要添加新行来完成proc\u cnt系列,增量可达6+,前一行的置信度为相同的键 结果表应如下所示: [结果表填充新行] 我曾尝试设置SQL Server查询,但没有任何启动查询的想法。请帮助为此设置查询并相应地安排数据。这里有一种方法: dbfiddle欢迎使用堆栈溢出。请编辑问题,将所有必要的源代码、数据和错误消息作为文本包含在内。考虑 ;with proc_cnt1 as ( select * from ( values

[proc_cnt1系列从1到6的数据集(6或更多称为6+)]

我需要添加新行来完成
proc\u cnt
系列,增量可达6+,前一行的置信度为相同的键

结果表应如下所示:

[结果表填充新行]

我曾尝试设置SQL Server查询,但没有任何启动查询的想法。请帮助为此设置查询并相应地安排数据。

这里有一种方法:


dbfiddle

欢迎使用堆栈溢出。请编辑问题,将所有必要的源代码、数据和错误消息作为文本包含在内。考虑
;with proc_cnt1 as (
select * from ( values ('1'),('2'),('3'),('4'),('5'),('6+')) series(level)
)
, cte2 AS (
 select key2 , min(proc_cnt1) as mincnt
 from test
 group by key2
) 
, cte3 as (
select *
from proc_cnt1
cross apply cte2
where level >= mincnt
)
select level proc_cnt1
, c.key2 
, COALESCE ( confidence , max(confidence) over (partition by c.key2 order by level)) confidence
from cte3 c
left join test t
on c.key2 = t.key2
and  c.level = t.proc_cnt1
order by c.key2 , level
GO