YZ_MES/报表sql/可视化/MTDyield.sql

40 lines
1.8 KiB
SQL

SELECT DISTINCT 'plan' type, 'detail' cate, pl.mfgdate, pl.area, pl.area1, sum(pl.outputb) / 1000 value
from reportdata.outputtargetsetting pl
where 1 = 1
and pl.outputb > 0
and pl.mfgdate >= CONCAT(dATE_FORMAT(now() - 8.5 / 24, '%Y-%m-'), '01')
and pl.mfgdate <= DATE_FORMAT((LAST_DAY(CURDATE())), '%Y-%m-%d')
group by pl.mfgdate, pl.area, pl.area1
union all
##
SELECT 'actual' type, 'detail' cate, sy.mfgdate, sy.area, sy.area1, sum(sy.qcweight) / 1000 outputb
from siteonlinecrucibleyield sy
where 1 = 1
and sy.mfgdate >= CONCAT(dATE_FORMAT(now() - 8.5 / 24, '%Y-%m-'), '01')
and sy.mfgdate < DATE_FORMAT((CURDATE()), '%Y-%m-%d')
group by sy.mfgdate, sy.area, sy.area1
union all
##
select 'plan' type, 'sum', t.mfgdate, t.area, t.area1,
sum(t.target) over(partition by t.area1 order by mfgdate)
from (select pl.area, area1, mfgdate, sum(outputb) / 1000 target
from outputtargetsetting pl
where 1 = 1
and pl.mfgdate >= CONCAT(dATE_FORMAT(now() - 8.5 / 24, '%Y-%m-'), '01')
and pl.mfgdate <= DATE_FORMAT((LAST_DAY(CURDATE())), '%Y-%m-%d')
group by area1, mfgdate
order by area1, mfgdate) t
group by t.mfgdate, t.area, t.area1
union all
##
select 'actual' type, 'sum', t.mfgdate, t.area, t.area1,
sum(t.yield) over(partition by t.area1 order by mfgdate)
from (select sy.area, area1, mfgdate, sum(qcweight) / 1000 yield
from siteonlinecrucibleyield sy
where 1 = 1
and sy.mfgdate >= CONCAT(dATE_FORMAT(now() - 8.5 / 24, '%Y-%m-'), '01')
and sy.mfgdate < DATE_FORMAT((CURDATE()), '%Y-%m-%d')
group by area1, mfgdate
order by area1, mfgdate) t
group by t.mfgdate, t.area, t.area1;