返回视图中两列之一 - 以不为空的一列为准

2024-04-09

我有一个包含三列的表:

ColumnA          ColumnB         ColumnC
AAA               NULL            123
BBB               222             NULL
CCC               NULL            NULL

我想创建一个 SELECT 语句,该语句将返回 ColumnA,然后创建第二列,该列将显示 ColumnB 的值,除非 ColumnB 为 null;否则它会显示 ColumnC 的值,即使它是 NULL。我可以使用 IF 语句吗?就像是:

SELECT ColumnA, 
IF(ColumnB IS NULL, ColumnC, ColumnB)
FROM table

**如果我得到这个工作,下一步将是返回连接列的值而不是 ColumnB。实际上 IF 语句将是

IF(table.ColumnB IS NULL, table.ColumnC, table2.ColumnD)

Use COALESCE

SELECT ColumnA, COALESCE(ColumnB, ColumnC) as 'Value'

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

返回视图中两列之一 - 以不为空的一列为准 的相关文章

随机推荐