ORACLE 表格左上角非空值
Posted
技术标签:
【中文标题】ORACLE 表格左上角非空值【英文标题】:ORACLE table top left not null value 【发布时间】:2013-11-21 22:43:05 【问题描述】:如何从表/子查询中选择左上角非空值?
解释:
colfkey col1 | col2 | col3 | col4 xxxxxxx null null '1' null xxxxxxx null '2' null null我只需要'1'值
【问题讨论】:
【参考方案1】:你的意思是这样的:
SELECT colfkey, COALESCE( col1, col2, col3, col4 ) AS value
FROM table_name
WHERE ROWNUM = 1
AND COALESCE( col1, col2, col3, col4 ) IS NOT NULL;
SQL FIDDLE
如果您不这样做,请详细说明您的要求。
【讨论】:
【参考方案2】:我的回答假设您想按 col 值之一对结果进行排序,否则,无法知道结果的顺序是什么:
SELECT * FROM
(SELECT CASE WHEN "col1" IS NOT NULL THEN "col1"
WHEN "col2" IS NOT NULL THEN "col2"
WHEN "col3" IS NOT NULL THEN "col3"
WHEN "col4" IS NOT NULL THEN "col4" END AS TOP_VALUE
FROM expl
ORDER BY 1 ASC) a
WHERE rownum = 1
sqlfiddle demo
【讨论】:
以上是关于ORACLE 表格左上角非空值的主要内容,如果未能解决你的问题,请参考以下文章