Code:
select
asidn,
asbz1,
asbz2,
coalesce(stlj, 0.00) as stlj,
coalesce(stvj, 0.00) as stvj,
coalesce(stvvj, 0.00) as stvvj,
coalesce(frei, 0.00) as stfrei,
cast(coalesce(stlj, 0) as float) / asumf2 as qmlj,
cast(coalesce(stvj, 0) as float) / asumf2 as qmvj,
cast(coalesce(stvvj, 0) as float) / asumf2 as qmvvj,
cast(frei as float) / asumf2 as qmfrei,
(
cast(coalesce(stlj,0) as float) + cast(coalesce(stvj,0) as float) + cast(coalesce(stvvj,0) as float)
) / 34 as stpromon,
(
cast(coalesce(stlj,0) as float) + cast(coalesce(stvj,0) as float) + cast(coalesce(stvvj,0) as float)
) / 34 / asumf2 as qmpromon,
case when
coalesce(stlj, 0) = 0 then 0
else
cast(frei as float) / (cast(stlj as float) / 10)
end as rwlj,
case when
coalesce(stlj, 0.00) = 0 then 0
else
cast(frei as float) / ((cast(coalesce(stlj, 0) as float) + cast(coalesce(stvj, 0) as float) + cast(coalesce(stvvj, 0) as float)) / ".$totmon.")
end as rw,
(
(
cast(coalesce(stlj, 0) as float) + cast(coalesce(stvj, 0) as float) + cast(coalesce(stvvj, 0) as float)
) / 34
) * 9 - cast(frei as float) as stprod9,
(
(
(
(
cast(coalesce(stlj, 0) as float) + cast(coalesce(stvj, 0) as float) + cast(coalesce(stvvj, 0) as float)
) / 34
) * 9 - cast(frei as float)
) / asumf2
) as qmprod9,
asabc,
asme2
from
stdprod.afassp
left join
(
select
s3idn,
sum(s3tlmg) as stlj
from
stdprod.afs3sp
where
substr(s3afa, 1, 1) not in ('M', 'Y', 'Z') and
s3rgd <= '20201031'
group by
s3idn
) ulj
on
ulj.s3idn = asidn
left join
(
select
s3idn,
sum(s3tlmg) as stvj
from
wwdta.afs3spvj
where
substr(s3afa, 1, 1) not in ('M', 'Y', 'Z')
group by
s3idn
) uvj
on
uvj.s3idn = asidn
left join
(
select
s3idn,
sum(s3tlmg) as stvvj
from
wwdta.afs3spvvj
where
substr(s3afa, 1, 1) not in ('M', 'Y', 'Z')
group by
s3idn
) uvvj
on
uvvj.s3idn = asidn
left join
(
select
abidn,
sum(abbst) as frei
from
stdprod.afabsp
where
substr(ablag, 3, 2) < '50'
group by
abidn
) bst
on
abidn = asidn
where
substr(asidn, 11, 1) = '1' and
substr(asidn, 13, 2) < '40' and
(
coalesce(stlj,0) <> 0 or
coalesce(stvj,0) <> 0 or
coalesce(stvvj,0) <> 0 or
coalesce(frei,0) <> 0
)
order by
case when asme2 = 'st' then
((coalesce(stlj,0) + coalesce(stvj,0) + coalesce(stvvj,0)) / 34) * 9 - coalesce(frei,0)
else
(((coalesce(stlj,0) + coalesce(stvj,0) + coalesce(stvvj,0)) / 34) * 9 - coalesce(frei,0)) / asumf2
end desc
Bookmarks