每个日期用相同的值替换null - oracle sql

时间:2015-06-07 18:32:08

标签: sql oracle sql-update

我正在尝试通过将同一值设置为同一VAL天内的所有HOUR小时来更新DATA。它必须以某种方式检查同一日期的值并用它替换空值,但我似乎无法理解如何做到这一点。在此先感谢您的帮助!

PROCESS    DATA     HOUR    VAL
-------- ---------- ----- -------
508410   2015.03.29  19   36.15
508410   2015.03.30  11   NULL
508410   2015.03.30  14   NULL
508410   2015.03.30  15   35.36
508410   2015.03.30  23   NULL
508410   2015.03.31  11   NULL
508410   2015.03.31  12   20.4
508410   2015.04.01  01   NULL
508410   2015.04.01  02   37.06

我希望它看起来像:

PROCESS    DATA     HOUR    VAL
-------- ---------- ----- -------
508410   2015.03.29  19   36.15
508410   2015.03.30  11   35.36
508410   2015.03.30  14   35.36
508410   2015.03.30  15   35.36
508410   2015.03.30  23   35.36
508410   2015.03.31  11   20.4
508410   2015.03.31  12   20.4
508410   2015.04.01  01   37.06
508410   2015.04.01  02   37.06

1 个答案:

答案 0 :(得分:1)

一种方法是在.Select(p => p.Id))子句中使用内联查询。您可以利用set忽略max的事实,并使用它来返回每null个唯一的非空val

data