【问题标题】:How can I fill the null values like the up results [duplicate]如何填充空值,如 up 结果 [重复]
【发布时间】:2017-10-27 21:15:39
【问题描述】:

例如,我有一个如下表:

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:我没有一个身份栏

【问题讨论】:

  • SQL 表代表 无序 集合。您需要一个指定顺序的列。

标签: sql sql-server


【解决方案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;

?? 用于指定排序的列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-17
    • 2020-04-16
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-25
    • 2018-01-16
    • 1970-01-01
    相关资源
    最近更新 更多