如何在SQL中将多列合并为一列?

温斯顿

基于谷歌表单输入,我从用户那里收集了以下数据

+-------+--------+--------+--------+
| Name  |  Col1  |  Col2  |  Col3  |
+-------+--------+--------+--------+
| name1 |        |        |    1   |
| name2 |   3    |        |        |
| name3 |        |   2    |        |
+-------+--------+--------+--------+

只有 Col1、Col2 或 Col3 之一将包含值

我想要的是创建这样的视图

+-------+--------+
| Name  |  Col   |
+-------+--------+
| name1 |    1   |
| name3 |    2   |
| name2 |    3   |
+-------+--------+

SQL 命令不仅要合并 Col1、Col2 和 Col3,还要根据它的值对新的 Col 进行排序。

提前致谢

戈登·利诺夫

您可以使用coalesce()

select name, coalesce(col1, col2, col3) as col
from t
order by col;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章