Its pretty ugly…
/*
* Disclaimer!!!
* This is not a real query being executed, but a simplified version for general vision.
* Executing it with any other tool may produce a different result.
*/
with [Material] as
(select
[UD03_Material].[Company] as [UD03_Material_Company],
[UD03_Material].[Key1] as [UD03_Material_Key1],
[UD03_Material].[Key2] as [UD03_Material_Key2],
(isnull(sum(
isnull(UD03_Material.Number10,0)*
isnull(UD03_Material.Number11,0)),0)) as [Calculated_MaterialSum],
(isnull(sum(
isnull(UD03_Material.Number10,0)*
isnull(UD03_Material.Number11,0)*
isnull(UD03_Material.Number12,0)),0)) as [Calculated_MtlBurSum]
from Ice.UD03 as UD03_Material
where (UD03_Material.ShortChar01 = 'Matl')
group by [UD03_Material].[Company],
[UD03_Material].[Key1],
[UD03_Material].[Key2])
,[Labor] as
(select
[Labor].[Company] as [Labor_Company],
[Labor].[Key1] as [Labor_Key1],
[Labor].[Key2] as [Labor_Key2],
(isnull(sum(
isnull(Labor.Number14,0)*
isnull(Labor.Number16,0)*
(1+isnull(Labor.Number18,0))),0)) as [Calculated_LaborCost],
(isnull(sum(
isnull(Labor.Number15,0)*
isnull(Labor.Number17,0)),0)) as [Calculated_BurdenCost]
from Ice.UD03 as Labor
where (Labor.ShortChar01 = 'Labor')
group by [Labor].[Company],
[Labor].[Key1],
[Labor].[Key2])
,[SubContract] as
(select
[SubContract].[Company] as [SubContract_Company],
[SubContract].[Key1] as [SubContract_Key1],
[SubContract].[Key2] as [SubContract_Key2],
(isnull(sum(
isnull(SubContract.Number05,0)),0)) as [Calculated_SubContractSum]
from Ice.UD03 as SubContract
where (SubContract.ShortChar01 = 'Sub')
group by [SubContract].[Company],
[SubContract].[Key1],
[SubContract].[Key2])
,[Misc] as
(select
[Misc].[Company] as [Misc_Company],
[Misc].[Key1] as [Misc_Key1],
[Misc].[Key2] as [Misc_Key2],
(isnull(sum(
isnull(Misc.Number05,0)),0)) as [Calculated_MiscSum]
from Ice.UD03 as Misc
where (Misc.ShortChar01 = 'Misc')
group by [Misc].[Company],
[Misc].[Key1],
[Misc].[Key2])
,[TopLevel] as
(select
[TopLevelAssy].[Key1] as [TopLevelAssy_Key1],
[TopLevelAssy].[Key2] as [TopLevelAssy_Key2],
[TopLevelAssy].[Number03] as [TopLevelAssy_Number03],
[Material1].[Calculated_MaterialSum] as [Calculated_MaterialSum],
[Material1].[Calculated_MtlBurSum] as [Calculated_MtlBurSum],
[Labor2].[Calculated_LaborCost] as [Calculated_LaborCost],
[Labor2].[Calculated_BurdenCost] as [Calculated_BurdenCost],
(isnull(sum(isnull(SubContract2.Calculated_SubContractSum,0))+
sum(isnull(Misc2.Calculated_MiscSum,0)),0)) as [Calculated_TopLevelSubMisc]
from Ice.UD03 as TopLevelAssy
left outer join Material as Material1 on
TopLevelAssy.Key1 = Material1.UD03_Material_Key1
and TopLevelAssy.Key2 = Material1.UD03_Material_Key2
left outer join Labor as Labor2 on
TopLevelAssy.Key1 = Labor2.Labor_Key1
and TopLevelAssy.Key2 = Labor2.Labor_Key2
left outer join SubContract as SubContract2 on
TopLevelAssy.Key1 = SubContract2.SubContract_Key1
and TopLevelAssy.Key2 = SubContract2.SubContract_Key2
left outer join Misc as Misc2 on
TopLevelAssy.Key1 = Misc2.Misc_Key1
and TopLevelAssy.Key2 = Misc2.Misc_Key2
where (TopLevelAssy.ShortChar01 = 'Header')
group by [TopLevelAssy].[Key1],
[TopLevelAssy].[Key2],
[TopLevelAssy].[Number03],
[Material1].[Calculated_MaterialSum],
[Material1].[Calculated_MtlBurSum],
[Labor2].[Calculated_LaborCost],
[Labor2].[Calculated_BurdenCost])
,[AssyMatl] as
(select
[UD03_AssyMatl].[Company] as [UD03_AssyMatl_Company],
[UD03_AssyMatl].[Key1] as [UD03_AssyMatl_Key1],
[UD03_AssyMatl].[Key2] as [UD03_AssyMatl_Key2],
(isnull(sum(
isnull(UD03_AssyMatl.Number10,0)*
isnull(UD03_AssyMatl.Number11,0)),0)) as [Calculated_AssyMatlSum],
(isnull(sum(
isnull(UD03_AssyMatl.Number10,0)*
isnull(UD03_AssyMatl.Number11,0)*
isnull(UD03_AssyMatl.Number12,0)),0)) as [Calculated_AssyMatlBurSum]
from Ice.UD03 as UD03_AssyMatl
where (UD03_AssyMatl.ShortChar01 = 'Matl')
group by [UD03_AssyMatl].[Company],
[UD03_AssyMatl].[Key1],
[UD03_AssyMatl].[Key2])
,[AssyLabor] as
(select
[UD03_Assy_Labor].[Company] as [UD03_Assy_Labor_Company],
[UD03_Assy_Labor].[Key1] as [UD03_Assy_Labor_Key1],
[UD03_Assy_Labor].[Key2] as [UD03_Assy_Labor_Key2],
(isnull(sum(
isnull(UD03_Assy_Labor.Number14,0)*
isnull(UD03_Assy_Labor.Number16,0)*
(1+isnull(UD03_Assy_Labor.Number18,0))),0)) as [Calculated_AssyLabor],
(isnull(sum(
isnull(UD03_Assy_Labor.Number15,0)*
isnull(UD03_Assy_Labor.Number17,0)),0)) as [Calculated_AssyBurden]
from Ice.UD03 as UD03_Assy_Labor
where (UD03_Assy_Labor.ShortChar01 = 'Labor')
group by [UD03_Assy_Labor].[Company],
[UD03_Assy_Labor].[Key1],
[UD03_Assy_Labor].[Key2])
,[AssySubContract] as
(select
[UD03_AssySub].[Company] as [UD03_AssySub_Company],
[UD03_AssySub].[Key1] as [UD03_AssySub_Key1],
[UD03_AssySub].[Key2] as [UD03_AssySub_Key2],
(isnull(sum(
isnull(UD03_AssySub.Number05,0)),0)) as [Calculated_AssySubSum]
from Ice.UD03 as UD03_AssySub
where (UD03_AssySub.ShortChar01 = 'Sub')
group by [UD03_AssySub].[Company],
[UD03_AssySub].[Key1],
[UD03_AssySub].[Key2])
,[AssyMisc] as
(select
[UD03_AssyMisc].[Company] as [UD03_AssyMisc_Company],
[UD03_AssyMisc].[Key1] as [UD03_AssyMisc_Key1],
[UD03_AssyMisc].[Key2] as [UD03_AssyMisc_Key2],
(isnull(sum(
isnull(UD03_AssyMisc.Number05,0)),0)) as [Calculated_AssyMiscSum]
from Ice.UD03 as UD03_AssyMisc
where (UD03_AssyMisc.ShortChar01 = 'Misc')
group by [UD03_AssyMisc].[Company],
[UD03_AssyMisc].[Key1],
[UD03_AssyMisc].[Key2])
,[Assembly] as
(select
[UD03_Assy].[Company] as [UD03_Assy_Company],
[UD03_Assy].[Key1] as [UD03_Assy_Key1],
[UD03_Assy].[Key2] as [UD03_Assy_Key2],
[UD03_Assy].[Number02] as [UD03_Assy_Number02],
[UD03_Assy].[Number03] as [UD03_Assy_Number03],
(sum(AssyMatl.Calculated_AssyMatlSum)) as [Calculated_AssyMatlSum],
[AssyMatl].[Calculated_AssyMatlBurSum] as [Calculated_AssyMatlBurSum],
[AssyLabor].[Calculated_AssyLabor] as [Calculated_AssyLabor],
[AssyLabor].[Calculated_AssyBurden] as [Calculated_AssyBurden],
(isnull(sum(isnull(AssySubContract.Calculated_AssySubSum,0))+
sum(isnull(AssyMisc.Calculated_AssyMiscSum,0)),0)) as [Calculated_AssySubMisc]
from Ice.UD03 as UD03_Assy
left outer join AssyMatl as AssyMatl on
UD03_Assy.Company = AssyMatl.UD03_AssyMatl_Company
and UD03_Assy.Key1 = AssyMatl.UD03_AssyMatl_Key1
and UD03_Assy.Key2 = AssyMatl.UD03_AssyMatl_Key2
left outer join AssyLabor as AssyLabor on
UD03_Assy.Company = AssyLabor.UD03_Assy_Labor_Company
and UD03_Assy.Key1 = AssyLabor.UD03_Assy_Labor_Key1
and UD03_Assy.Key2 = AssyLabor.UD03_Assy_Labor_Key2
left outer join AssySubContract as AssySubContract on
UD03_Assy.Company = AssySubContract.UD03_AssySub_Company
and UD03_Assy.Key1 = AssySubContract.UD03_AssySub_Key1
and UD03_Assy.Key2 = AssySubContract.UD03_AssySub_Key2
left outer join AssyMisc as AssyMisc on
UD03_Assy.Company = AssyMisc.UD03_AssyMisc_Company
and UD03_Assy.Key1 = AssyMisc.UD03_AssyMisc_Key1
and UD03_Assy.Key2 = AssyMisc.UD03_AssyMisc_Key2
where (UD03_Assy.ShortChar01 = 'Header' and UD03_Assy.Key2 <> '000')
group by [UD03_Assy].[Company],
[UD03_Assy].[Key1],
[UD03_Assy].[Key2],
[UD03_Assy].[Number02],
[UD03_Assy].[Number03],
[AssyMatl].[Calculated_AssyMatlBurSum],
[AssyLabor].[Calculated_AssyLabor],
[AssyLabor].[Calculated_AssyBurden]
union all
select
[Assembly].[UD03_Assy_Company] as [UD03_Assy_Company],
[Assembly].[UD03_Assy_Key1] as [UD03_Assy_Key1],
[Assembly].[UD03_Assy_Key2] as [UD03_Assy_Key2],
[Assembly].[UD03_Assy_Number02] as [UD03_Assy_Number02],
[Assembly].[UD03_Assy_Number03] as [UD03_Assy_Number03],
[Assembly].[Calculated_AssyMatlSum] as [Calculated_AssyMatlSum],
[Assembly].[Calculated_AssyMatlBurSum] as [Calculated_AssyMatlBurSum],
[Assembly].[Calculated_AssyLabor] as [Calculated_AssyLabor],
[Assembly].[Calculated_AssyBurden] as [Calculated_AssyBurden],
[Assembly].[Calculated_AssySubMisc] as [Calculated_AssySubMisc]
from Assembly as Assembly
inner join TopLevel as TopLevel1 on
Assembly.UD03_Assy_Key1 = TopLevel1.TopLevelAssy_Key1
and Assembly.UD03_Assy_Number03 Like cast(TopLevelAssy_Key2 as decimal))
select
[UD03].[ShortChar02] as [UD03_ShortChar02],
[UD03].[Key1] as [UD03_Key1],
[UD03].[Key2] as [UD03_Key2],
[UD03].[Number03] as [UD03_Number03],
[UD03].[Number02] as [UD03_Number02],
((case when UD03.ShortChar03='99990' then 'Stock' else 'Order' end)) as [Calculated_MakeToType],
(1) as [Calculated_JobComplete],
[TopLevel].[Calculated_MaterialSum] as [Calculated_MaterialSum],
[TopLevel].[Calculated_MtlBurSum] as [Calculated_MtlBurSum],
[TopLevel].[Calculated_LaborCost] as [Calculated_LaborCost],
[TopLevel].[Calculated_BurdenCost] as [Calculated_BurdenCost],
[TopLevel].[Calculated_TopLevelSubMisc] as [Calculated_TopLevelSubMisc],
(isnull(sum(Assembly1.Calculated_AssyMatlSum),0)) as [Calculated_LLAMaterial],
(isnull(sum(Assembly1.Calculated_AssyMatlBurSum),0)) as [Calculated_LLAMatlBurden],
(isnull(sum(Assembly1.Calculated_AssyLabor),0)) as [Calculated_LLALabor],
(isnull(sum(Assembly1.Calculated_AssyBurden),0)) as [Calculated_LLABurden],
(isnull(sum(Assembly1.Calculated_AssySubMisc),0)) as [Calculated_LLASubMisc]
from Ice.UD03 as UD03
left outer join TopLevel as TopLevel on
UD03.Key1 = TopLevel.TopLevelAssy_Key1
and UD03.Key2 = TopLevel.TopLevelAssy_Key2
left outer join Assembly as Assembly1 on
UD03.Key1 = Assembly1.UD03_Assy_Key1
where (UD03.ShortChar01 = 'Header' and UD03.Key1 = '2-7881-01')
group by [UD03].[ShortChar02],
[UD03].[Key1],
[UD03].[Key2],
[UD03].[Number03],
[UD03].[Number02],
((case when UD03.ShortChar03='99990' then 'Stock' else 'Order' end)),
[TopLevel].[Calculated_MaterialSum],
[TopLevel].[Calculated_MtlBurSum],
[TopLevel].[Calculated_LaborCost],
[TopLevel].[Calculated_BurdenCost],
[TopLevel].[Calculated_TopLevelSubMisc]
order by UD03.Key1, UD03.Number03, UD03.Key2