【发布时间】:2011-10-16 03:49:56
【问题描述】:
我有一张相当宽的表格,里面的数据很少。当我查询它时,我往往会得到很多空的 VARCHAR 列。
A | B | C | D | E | F | G | H | I | J | K | L |
| x | | | x | x | | x | | | | |
| | | | x | x | | | | | | x |
| | | | | x | | | | | | |
| x | | | x | x | | | | | | x |
| | | | x | x | | | | x | | |
| | x | | x | | | | | x | | x |
| x | | | x | x | | x | | x | | x |
如何从结果集中过滤掉空列?我找不到似乎适用的 SQL 关键字。
B | C | E | F | H | J | L |
x | | x | x | x | | |
| | x | x | | | x |
| | | x | | | |
x | | x | x | | | x |
| | x | x | | x | |
| x | x | | | x | x |
x | | x | x | x | x | x |
编辑:这是出于显示目的,我不打算使用结果集中的数据修改表。我确实认为从 MVC 的角度来看,将数据的显示留给视图是有意义的,但认为它在带宽方面效率不高。也许这不是一个值得这样做的理由。
【问题讨论】:
-
我假设您在查询之前不知道哪些列会为空,对吧?
-
为什么您的样本中没有删除 A 和 I?
-
没有关键字可以做到这一点。您可以使用动态 SQL,但它会占用一些资源。如果您愿意,我可以发布一个外观示例
-
你能解释一下你为什么要这样做吗?我希望有一种更简单的方法可以获得您正在寻找的结果。
-
@Daniel - 睡眠不足! :) 现在修复它。