V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
awen233333
V2EX  ›  数据库

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

  •  
  •   awen233333 · 2020-12-03 12:04:31 +08:00 · 1756 次点击
    这是一个创建于 1445 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
    第 1 条附言  ·  2020-12-03 14:51:11 +08:00
    因为很多原因,只能用 sql 解决
    第 2 条附言  ·  2020-12-03 15:07:42 +08:00
    数据库是 sql server
    10 条回复    2020-12-03 15:43:16 +08:00
    Mitt
        1
    Mitt  
       2020-12-03 13:24:30 +08:00 via iPhone
    自己写软件代码处理吧,这么复杂的逻辑就不要想着 sql 处理了
    rqxiao
        2
    rqxiao  
       2020-12-03 13:37:30 +08:00
    order by 可以实现的吧
    conge
        3
    conge  
       2020-12-03 13:46:09 +08:00 via Android
    对每列去 null,重新 index,得四个表,然后四个表重新 join on index 。需要注意的是,对于全 null 的列,需要保留至少一行。
    weizhen199
        4
    weizhen199  
       2020-12-03 13:49:06 +08:00
    order by 有 null first/last 这种
    RRRoger
        5
    RRRoger  
       2020-12-03 14:00:25 +08:00
    这种有多行合并了 建议写代码处理

    或者用聚合函数 max ?
    loading
        6
    loading  
       2020-12-03 14:07:52 +08:00 via Android
    一次查一列,然后再拼。
    用代码处理吧,这个写出来以后也是看不懂的。
    awen233333
        7
    awen233333  
    OP
       2020-12-03 14:55:22 +08:00
    @conge 现在就是用这种方法,字段太多,后面还要进行其他操作,要拼接 sql,使用 exec;很多地方会调用,那四个表会一些地方删除,一些地方新建,会报错
    jjianwen68
        8
    jjianwen68  
       2020-12-03 15:00:39 +08:00
    写存储过程?
    lonelymarried
        9
    lonelymarried  
       2020-12-03 15:03:16 +08:00
    filter when ? is not null
    awen233333
        10
    awen233333  
    OP
       2020-12-03 15:43:16 +08:00
    @jjianwen68 现在就是存储过程,搞不定
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6244 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:33 · PVG 10:33 · LAX 18:33 · JFK 21:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.