Eli*_*ias 5 sql sql-server-2005
我有这个问题
select a.WeekNumber
,a.filedate
,a.customer
,material
,Quantity
from zfmon zf right outer join zfmonTemp a
on zf.customer = a.customer
and zf.filedate = a.filedate
and zf.material = 'AD215BY'
Run Code Online (Sandbox Code Playgroud)
它返回以下内容
WeekNumber FileDate Customer Material Quantity
1 2010-03-19 00:00:00.000 1008777 NULL NULL
2 2010-03-12 00:00:00.000 1008777 AD215XX 3
Run Code Online (Sandbox Code Playgroud)
我想要的是当材料为null时用下一个非空值替换它.在这种情况下,它将用AD215XX替换它
因此输出看起来像
WeekNumber FileDate Customer Material Quantity
1 2010-03-19 00:00:00.000 1008777 AD215XX NULL
2 2010-03-12 00:00:00.000 1008777 AD215XX 3
Run Code Online (Sandbox Code Playgroud)
这可能吗?请任何人帮忙.
谢谢,Eli
select a.WeekNumber
,a.filedate
,a.customer
,isnull(material, (select top 1 material from zfmonTemp where weeknumber > zf.weeknumber and material is not null order by weeknumber)) material
,Quantity
from zfmon zf right outer join zfmonTemp a
on zf.customer = a.customer
and zf.filedate = a.filedate
and zf.material = 'AD215BY'
Run Code Online (Sandbox Code Playgroud)