在mysql中选择非零列

时间:2015-02-03 10:58:21

标签: mysql

我有一个场景,我只需要显示非零列

id C1 C2 C3 C4
 1  0  1  0  2
 2  0  1  0  5
 3  0  9  0  3

我希望输出如下

id C2 C4
1   1  2
2   1  5
3   9  3

1 个答案:

答案 0 :(得分:0)

SQL查询始终会生成以前的已知列。所以你不能在纯SQL中做你想做的事情。 (而且只能用SQL做一些事情往往是数据库设计不佳的标志。但有时候,SQL是关于如何获取数据,而不是如何显示数据。)

您可以做的是在一个查询中获取列的总和,然后动态地(手动或在使用Java,PHP或任何编程语言的应用程序中)构建新查询,该查询仅选择非零列。 / p>