select e.类型,b.数量,e.不良率 from (select a.年月,'报废不良' as 类型,b.数量,round((cast(b.数量 as float)/cast(c.实绩 as float)),4) as 不良率
from(
SELECT [Year], [Month], 年月, 生产线
FROM 现场DB.dbo.V_CurrentYearMonths
where
生产线='缸体') a
left join
(SELECT left(cast(日期 as date),7) as 年月,sum(cast(数量 as int)) as 数量
FROM [dbo].[TB_ SCRAPPED]
where [生产线] in ('缸体','缸盖')
and[机型] in ('TNGA1.5','TNGA2.0','TNGA2.5')
and 报废原因 in ('加工不良','其他不良-试验件','其它不良-品质解析','材料不良-缸盖毛坯(铸造加工不良)','其他不良-刀具试验','材料不良-IN/EX门座','其它不良-设备调试')
and (生产线)='缸体'
and(报废原因)='加工不良'
group by left(cast(日期 as date),7)
) b
on
a.年月=b.年月
left join
(SELECT REPLACE(日期 ,'/','-') as 日期, 产线, 线别, 实绩
FROM 现场DB.dbo.V_加工线每月生产台数
where
线别='缸体') c
on
b.年月=c.日期
order by a.年月) e
union all
select f.类型,f.数量,f.不良率 from(select a.年月,'返工不良' as 类型,
--case
--when b.线别='1#' then '1#'
--when b.线别='2#' then '2#'
--when b.线别 is null then '1#'
--else ''end as 线别,
b.数量,round((cast(b.数量 as float)/cast(c.实绩 as float)),4) as 不良率
from(
SELECT [Year], [Month], 年月, 生产线
FROM 现场DB.dbo.V_CurrentYearMonths
where
生产线='缸体') a
left join
(SELECT
--id,
left(convert (date,日期,120),7) as 日期 ,生产线,sum(cast(数量 as int)) as 数量
--case
--when 线别='1#' then '1'
--when 线别='2#' then '2'
--else ''end as 线别,
--生产线, 工序, 工件号, 模号, 不良区分, 返修项目, 返修方法, 品质判断, 班次, bisid, rep_top_id, def_top_org, create_time, 科室, 备注, 特别信息
FROM GLKANBAN.dbo.dwd_加工返修记录表
where
科室='第3制造科'
and
生产线='缸体'
and
数量>0
and
线别 is not null
group by left(convert (date,日期,120),7) ,生产线) b
on
a.年月=b.日期
left join
(SELECT REPLACE(日期 ,'/','-') as 日期, 产线, 线别, 实绩
FROM 现场DB.dbo.V_加工线每月生产台数
where
线别='缸体') c
on
b.日期=c.日期
order by a.年月) f