仓库领物料每月有个单价,比如计算12月单价为空则取11月,有值则取12月的,11月无单价就取10

以此类推,数据库为oracle

image.png

用outer apply函数匹配出每个月的单价或者据这个月最早有值的前面月份的单价,一直提示缺失表达式;

但是代入数值单独执行outer apply里面的sql,是没问题的,这个要怎么解决

select tt.price

     from

        (SELECT  FUnitActualCost as price,row_number()over(partition by t.FMaterialID,to_char(t.FBizDate,'YYYY') order by t.FBizDate desc) as an  FROM T_IM_OtherIssueBillEntry t where   t.FMaterialID ='TlYEd0tlSkGoZCTH8lAMl0QJ5/A=' and  to_char(t.FBizDate,'YYYY') =2022  and t.FBizDate<= sysdate  and nvl(FUnitActualCost,0)<>0

                                )tt

where tt.an =1

SQL 帆软用户TQ6gXR9SO6 发布于 2022-12-12 16:57
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
yzm339714Lv6中级互助
发布于2022-12-12 17:07

oracle  没有  outer apply  函数把,你别只取  单价,你把 FMaterialID  一起取出来,然后left join 不就好了

  • 2关注人数
  • 196浏览人数
  • 最后回答于:2022-12-12 17:07
    请选择关闭问题的原因
    确定 取消
    返回顶部