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

2020-12-03 12:04:31 +08:00
 awen233333
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
1670 次点击
所在节点    数据库
10 条回复
Mitt
2020-12-03 13:24:30 +08:00
自己写软件代码处理吧,这么复杂的逻辑就不要想着 sql 处理了
rqxiao
2020-12-03 13:37:30 +08:00
order by 可以实现的吧
conge
2020-12-03 13:46:09 +08:00
对每列去 null,重新 index,得四个表,然后四个表重新 join on index 。需要注意的是,对于全 null 的列,需要保留至少一行。
weizhen199
2020-12-03 13:49:06 +08:00
order by 有 null first/last 这种
RRRoger
2020-12-03 14:00:25 +08:00
这种有多行合并了 建议写代码处理

或者用聚合函数 max ?
loading
2020-12-03 14:07:52 +08:00
一次查一列,然后再拼。
用代码处理吧,这个写出来以后也是看不懂的。
awen233333
2020-12-03 14:55:22 +08:00
@conge 现在就是用这种方法,字段太多,后面还要进行其他操作,要拼接 sql,使用 exec;很多地方会调用,那四个表会一些地方删除,一些地方新建,会报错
jjianwen68
2020-12-03 15:00:39 +08:00
写存储过程?
lonelymarried
2020-12-03 15:03:16 +08:00
filter when ? is not null
awen233333
2020-12-03 15:43:16 +08:00
@jjianwen68 现在就是存储过程,搞不定

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/731703

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX