在数据集里怎么写累计不良?即9月的不良是1到9月的总不良

SELECT 年度,月份,计划,SUM(不良数量)/SUM(CASE WHEN 切断数量>0 THEN 切断数量 ELSE 1 END)不良率

FROM(

SELECT 年度,月份,计划,ISNULL(切断数,'0')切断数量,SUM(不良数量)不良数量

FROM(

SELECT YEAR(A.finish_date)年度,MONTH(A.finish_date)月份,'0.003' AS 计划,e.description 物料描述,A.lot 制造号,

(case when wc='c' then  SUM(qty) end )切断数,

(case when wc='d' then  SUM(qty) end )锻造数,

C.description 不良描述,B.qty_bad 不良数量

FROM work_trans A left join work_trans_qc b on a.id=b.work_trans_id

  LEFT join reason_code_base c on b.reason_code=c.reason_code

  LEFT join in_product d on a.lot=d.lot

  LEFT join item e on d.item=e.item

WHERE A.finish_date>='2019/8/1' AND A.finish_date<$月份

GROUP BY A.finish_date,e.description,A.lot,C.description,B.qty_bad,wc

)AA

GROUP BY 年度,月份,计划,切断数

)BB

WHERE 1=1

${if(len(年度)== 0,""," and 年度 = '" + 年度 +"'")}

${if(len(月份)== 0,""," and 月份 = '" + 月份 +"'")}

GROUP BY 年度,月份,计划



 "A.finish_date<$月份"  这里出错


FineReport 山丁子 发布于 2019-9-4 13:40
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
firegunzxLv6高级互助
发布于2019-9-4 13:43(编辑于 2019-9-4 13:45)

A.finish_date<'${月份}'

月份参数错了,下面的if没错

最佳回答
0
Kevin-sLv7中级互助
发布于2019-9-4 13:44

如果月份是字符的话改成A.finish_date<'${月份}',如果是数字的话改成A.finish_date<${月份}。这个地方参数写错了

最佳回答
0
半世Lv5中级互助
发布于2019-9-4 15:24

A.finish_date<$月份这个不应该这么写吧,看样子是个日期啊,你的月份参数应该是1-12啊,应该写成A.finish_date<'${日期}'

  • 4关注人数
  • 375浏览人数
  • 最后回答于:2019-9-4 15:24
    请选择关闭问题的原因
    确定 取消
    返回顶部