如何填充空值,如up结果

时间:2017-10-27 13:13:38

标签: sql sql-server

示例,我有一个如下表:

Plan    Name
211 - SELET HIAG    TEST1
NULL    TEST2
NULL    TEST3
NULL    TEST4
NULL    TEST5
213 - SOUND III TEST6
NULL    TEST7
NULL    TEST8
NULL    TEST9
211 - BUBBLE    TEST10
NULL    TEST11
NULL    TEST12
NULL    TEST13
NULL    TEST14

但它应该是这样的:

Plan    Name
211 - SELET HIAG    TEST1
211 - SELET HIAG    TEST2
211 - SELET HIAG    TEST3
211 - SELET HIAG    TEST4
211 - SELET HIAG    TEST5
213 - SOUND III TEST6
213 - SOUND III TEST7
213 - SOUND III TEST8
213 - SOUND III TEST9
211 - BUBBLE    TEST10
211 - BUBBLE    TEST11
211 - BUBBLE    TEST12
211 - BUBBLE    TEST13
211 - BUBBLE    TEST14

Ps:我没有一个身份栏

1 个答案:

答案 0 :(得分:1)

您可以使用apply执行此操作,假设您有一个指定排序的列:

select tprev.plan, t.name
from t outer apply
     (select top 1 tprev.*
      from t tprev
      where tprev.plan is not null and tprev.?? <= t.??
      order by tprev.?? desc
     ) tprev;

??用于指定排序的列。