COALESCE函数不返回任何行

时间:2015-04-08 08:03:48

标签: sql select db2 coalesce

我在DB2中遇到COALESCE函数的问题。

我的陈述:

SELECT COALESCE(ATTR,'NA') FROM TABLE WHERE %condition% 

如果基于条件找到ATTR,那么SELECT返回ATTR的值,但是如果没有找到ATTR,那么我希望SELECT返回" NA"。但是,它不返回任何行。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

神奇地创建一条线:

SELECT DISTINCT 'NA' AS ATTR FROM TABLE WHERE NOT EXISTS(SELECT 1 FROM TABLE WHERE %condition%)
UNION
SELECT ATTR FROM TABLE WHERE %condition%;

说明:如果子查询没有返回任何行,则选择“NA”并将其与子查询本身联合起来。任何一个联合集合都是空的,因此它可以提供你想要的东西。

相关问题