有一组数据:
日期 代码 数量
6.7 A 12
6.8 A 21
6.9 NULL NULL
6.10 NULL NULL
6.11 B 34
6.12 NULL NULL
6.13 C 45
6.14 NULL NULL
当代码和数量出现null值的时候,就用这天之前最近的非null的值的代码和数量代替,怎么写
结果为
日期 代码 数量
6.7 A 12
6.8 A 21
6.9 A 21
6.10 A 21
6.11 B 34
6.12 B 34
6.13 C 45
6.14 C 45
日期 代码 数量
6.7 A 12
6.8 A 21
6.9 NULL NULL
6.10 NULL NULL
6.11 B 34
6.12 NULL NULL
6.13 C 45
6.14 NULL NULL
当代码和数量出现null值的时候,就用这天之前最近的非null的值的代码和数量代替,怎么写
结果为
日期 代码 数量
6.7 A 12
6.8 A 21
6.9 A 21
6.10 A 21
6.11 B 34
6.12 B 34
6.13 C 45
6.14 C 45
from tab a
left join tab b
on b.日期 = (select max(日期) from tab where 日期<a.日期 and 代码 is not null and 数量 is not null
)
order by a.日期