小编Lid*_* B.的帖子

使用coalesce返回列名

我想从我的表中的几列中选择第一个非空值.通常我会用

SELECT COALESCE(col1, col2, col3) FROM table
Run Code Online (Sandbox Code Playgroud)

但是这次我不需要值,而是列的名称(或每列的一些指定文本),第一个不是空值.

一个例子:

表:

col1 | col2 | col3
null | null | 3
null | 5    | 8
2    | null | 2
Run Code Online (Sandbox Code Playgroud)

应该返回:

col3
col2
col1
Run Code Online (Sandbox Code Playgroud)

有没有办法用单个SQL语句来做?

注意:我正在使用PostgreSQL.

sql postgresql

5
推荐指数
1
解决办法
3447
查看次数

标签 统计

postgresql ×1

sql ×1