awen233333
V2EX  ›  数据库

sql 问题,怎样将 null 值去掉,数据往上对齐

  •  
  •   awen233333 · Dec 3, 2020 · 2546 views
    This topic created in 2162 days ago, the information mentioned may be changed or developed.
    NULL NULL haha NULL
    NULL NULL xixi NULL
    gege NULL NULL NULL
    NULL NULL NULL bebe
    jiji NULL NULL NULL
    NULL NULL NULL tete
    NULL NULL NULL dwdw
    NULL NULL NULL kiki
    NULL NULL NULL dwdw
    将上面数据整理为下面这样
    gege NULL haha bebe
    jiji NULL xixi tete
    NULL NULL NULL dwdw
    NULL NULL NULL kiki
    NULL NULL NULL dwdw
    Supplement 1  ·  Dec 3, 2020
    因为很多原因,只能用 sql 解决
    Supplement 2  ·  Dec 3, 2020
    数据库是 sql server
    10 replies  •  2020-12-03 15:43:16 +08:00
    Mitt
    Mitt
    Dec 3, 2020 via iPhone
    1
    自己写软件代码处理吧,这么复杂的逻辑就不要想着 sql 处理了
    rqxiao
    rqxiao
    Dec 3, 2020
    2
    order by 可以实现的吧
    conge
    conge
    Dec 3, 2020 via Android
    3
    对每列去 null,重新 index,得四个表,然后四个表重新 join on index 。需要注意的是,对于全 null 的列,需要保留至少一行。
    weizhen199
    weizhen199
    Dec 3, 2020
    4
    order by 有 null first/last 这种
    RRRoger
    RRRoger
    Dec 3, 2020
    5
    这种有多行合并了 建议写代码处理

    或者用聚合函数 max ?
    loading
    loading
    Dec 3, 2020 via Android
    6
    一次查一列,然后再拼。
    用代码处理吧,这个写出来以后也是看不懂的。
    awen233333
    awen233333
    OP
    Dec 3, 2020
    7
    @conge 现在就是用这种方法,字段太多,后面还要进行其他操作,要拼接 sql,使用 exec;很多地方会调用,那四个表会一些地方删除,一些地方新建,会报错
    jjianwen68
    jjianwen68
    Dec 3, 2020
    8
    写存储过程?
    lonelymarried
    lonelymarried
    Dec 3, 2020
    9
    filter when ? is not null
    awen233333
    awen233333
    OP
    Dec 3, 2020
    10
    @jjianwen68 现在就是存储过程,搞不定
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5195 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 06:35 · PVG 14:35 · LAX 22:35 · JFK 01:35
    ♥ Do have faith in what you're doing.