SQL 各路大神求解
有一组数据:
    日期     代码     数量
   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
------解决方案--------------------
SQL code
select a.日期,isnull(a.代码,b.代码) as 代码,isnull(a.数量,b.数量) as 数量
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.日期