我有一个SQL查询:
SELECT ISNULL(VALUE, '-99')
FROM PM_VALUE
WHERE ELEMENT_NAME = 'LL'
问题是上面的查询如果找不到ELEMENT_NAME = 'LL'
条件的记录,显然不会返回任何内容。
在没有记录的情况下,有什么方法可以更新它以返回默认值(EX. -99)
?我有一个要求,默认情况下我们需要一些值。
答案 0 :(得分:1)
如果您期望WHERE
子句最多匹配一个,那么最简单的方法是聚合:
SELECT COALESCE(MAX(VALUE), '-99')
FROM PM_VALUE
WHERE ELEMENT_NAME = 'LL';
没有GROUP BY
的聚合查询仅返回一行。如果没有任何匹配WHERE
,则聚合列将为NULL
。 COALESCE()
将NULL
设为您的默认值。