SQL查询,它为我的最后一列提供了一个值

use*_*516 3 sql sql-server

所以,假设我有一个包含6列col1-col6的表

有时我会在所有6列中有值,有时可能只有3或5.这取决于.其他列将为null.

在我的查询中,我想要从col1中选择,并在最后一列中输入值.这是因为此列保留了所需的总数.

如果总数将被修复,例如col6,我可以进行简单的查询并说

SELECT col1,col6 from mytable
Run Code Online (Sandbox Code Playgroud)

但问题是我必须在列中找到总数.它可以在任何col2-col6中.

请看看我的小提琴,以便更好地理解,在小提琴的例子中我想要col1,col5回来.

http://sqlfiddle.com/#!6/e3aeb/2

jar*_*rlh 5

使用COALESCE挑"最后一个"非空列.

select col1, coalesce(col6, col5, col4, col3, col2) from mytable
Run Code Online (Sandbox Code Playgroud)