Ah ok, no issue at all I will post it. The first image is my CTE, second is Union, third is TopLevel. I also put the query below that, please let me know if there is more you need. Or let me know if you actually need the BAQ file.
/*
* 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 [SubQuery1] as
(select
[PartMtl].[Company] as [PartMtl_Company],
[PartMtl].[PartNum] as [PartMtl_PartNum],
[PartMtl].[RevisionNum] as [PartMtl_RevisionNum],
[PartMtl].[MtlSeq] as [PartMtl_MtlSeq],
[PartMtl].[MtlPartNum] as [PartMtl_MtlPartNum],
[PartMtl].[QtyPer] as [PartMtl_QtyPer],
[PartMtl].[RelatedOperation] as [PartMtl_RelatedOperation],
[PartMtl].[PullAsAsm] as [PartMtl_PullAsAsm],
[PartMtl].[ViewAsAsm] as [PartMtl_ViewAsAsm],
[PartMtl].[PlanAsAsm] as [PartMtl_PlanAsAsm],
(1) as [Calculated_Hierarchy],
(case
when PartMtl.MtlSeq < 10 then cast(concat('000', PartMtl.MtlSeq) as nvarchar(25))
when PartMtl.MtlSeq < 100 then cast(concat('00', PartMtl.MtlSeq) as nvarchar (25))
when PartMtl.MtlSeq < 1000 then cast(concat('0', PartMtl.MtlSeq) as nvarchar (25))
end) as [Calculated_Ind1],
(PartMtl.PartNum) as [Calculated_TopLevel],
(case
when Hierarchy = 1 AND PartMtl.MtlSeq = 1 then(PartMtl.PartNum)
when Hierarchy = 1 AND PartMtl.MtlSeq = 10 then(PartMtl.PartNum)
else null
end) as [Calculated_DisplayedTopLevel],
[PartXRefVend].[VendPartNum] as [PartXRefVend_VendPartNum],
[PartXRefVend].[MfgPartNum] as [PartXRefVend_MfgPartNum],
[PartWhse].[OnHandQty] as [PartWhse_OnHandQty],
[PartWhse].[DemandQty] as [PartWhse_DemandQty],
[PlantWhse].[PrimBin] as [PlantWhse_PrimBin],
[Part].[UnitPrice] as [Part_UnitPrice],
(PartCost.StdLaborCost+ PartCost.StdBurdenCost+ PartCost.StdMaterialCost+ PartCost.StdSubContCost+ PartCost.StdMtlBurCost) as [Calculated_StdTotalCost],
[Part].[PartDescription] as [Part_PartDescription]
from Erp.PartMtl as PartMtl
left outer join Erp.PartXRefVend as PartXRefVend on
PartMtl.MtlPartNum = PartXRefVend.PartNum
left outer join Erp.PartWhse as PartWhse on
PartWhse.PartNum = PartMtl.MtlPartNum
left outer join Erp.PlantWhse as PlantWhse on
PartMtl.MtlPartNum = PlantWhse.PartNum
inner join Erp.Part as Part on
PlantWhse.Company = Part.Company
and PlantWhse.PartNum = Part.PartNum
left outer join Erp.PartCost as PartCost on
PartCost.PartNum = PartMtl.MtlPartNum
where PartMtl.PartNum like @PartNum
union all
select
[PartMtl1].[Company] as [PartMtl1_Company],
[PartMtl1].[PartNum] as [PartMtl1_PartNum],
[PartMtl1].[RevisionNum] as [PartMtl1_RevisionNum],
[PartMtl1].[MtlSeq] as [PartMtl1_MtlSeq],
[PartMtl1].[MtlPartNum] as [PartMtl1_MtlPartNum],
[PartMtl1].[QtyPer] as [PartMtl1_QtyPer],
[PartMtl1].[RelatedOperation] as [PartMtl1_RelatedOperation],
[PartMtl1].[PullAsAsm] as [PartMtl1_PullAsAsm],
[PartMtl1].[ViewAsAsm] as [PartMtl1_ViewAsAsm],
[PartMtl1].[PlanAsAsm] as [PartMtl1_PlanAsAsm],
(Calculated_Hierarchy + 1) as [Calculated_Hierarchy2],
(case
when PartMtl1.MtlSeq < 10 then cast(concat(Calculated_Ind1, '-', '000', PartMtl1.MtlSeq) as nvarchar(25))
when PartMtl1.MtlSeq < 100 then cast(concat(Calculated_Ind1, '-', '00', PartMtl1.MtlSeq) as nvarchar(25))
when PartMtl1.MtlSeq < 1000 then cast(concat(Calculated_Ind1, '-', '0', PartMtl1.MtlSeq) as nvarchar(25))
end) as [Calculated_Ind2],
(SubQuery1.Calculated_TopLevel) as [Calculated_TopLevel1],
(case
when Hierarchy2 = 1 AND PartMtl1.MtlSeq = 1 then(PartMtl1.PartNum)
when Hierarchy2 = 1 AND PartMtl1.MtlSeq = 10 then(PartMtl1.PartNum)
else null
end) as [Calculated_DisplayTopLevel2],
[PartXRefVend1].[VendPartNum] as [PartXRefVend1_VendPartNum],
[PartXRefVend1].[MfgPartNum] as [PartXRefVend1_MfgPartNum],
[PartWhse1].[OnHandQty] as [PartWhse1_OnHandQty],
[PartWhse1].[DemandQty] as [PartWhse1_DemandQty],
[PlantWhse1].[PrimBin] as [PlantWhse1_PrimBin],
[Part1].[UnitPrice] as [Part1_UnitPrice],
(PartCost1.StdLaborCost+ PartCost1.StdBurdenCost+ PartCost1.StdMaterialCost+ PartCost1.StdSubContCost+ PartCost1.StdMtlBurCost) as [Calculated_StdTotalCost1],
[Part1].[PartDescription] as [Part1_PartDescription]
from Erp.PartMtl as PartMtl1
inner join SubQuery1 as SubQuery1 on
PartMtl1.PartNum = SubQuery1.PartMtl_MtlPartNum
and PartMtl1.Company = SubQuery1.PartMtl_Company
inner join Erp.PartXRefVend as PartXRefVend1 on
PartXRefVend1.PartNum = PartMtl1.MtlPartNum
inner join Erp.PartWhse as PartWhse1 on
PartWhse1.PartNum = PartMtl1.MtlPartNum
inner join Erp.PlantWhse as PlantWhse1 on
PartMtl1.MtlPartNum = PlantWhse1.PartNum
inner join Erp.Part as Part1 on
PlantWhse1.Company = Part1.Company
and PlantWhse1.PartNum = Part1.PartNum
inner join Erp.PartCost as PartCost1 on
PartCost1.PartNum = PartMtl1.MtlPartNum)
select
[SubQuery11].[Calculated_DisplayedTopLevel] as [Calculated_DisplayedTopLevel],
[SubQuery11].[Calculated_Hierarchy] as [Calculated_Hierarchy],
[SubQuery11].[PartMtl_MtlPartNum] as [PartMtl_MtlPartNum],
[SubQuery11].[Part_PartDescription] as [Part_PartDescription],
[SubQuery11].[PartMtl_MtlSeq] as [PartMtl_MtlSeq],
[SubQuery11].[PartMtl_QtyPer] as [PartMtl_QtyPer],
[SubQuery11].[PartXRefVend_VendPartNum] as [PartXRefVend_VendPartNum],
[SubQuery11].[PartXRefVend_MfgPartNum] as [PartXRefVend_MfgPartNum],
[SubQuery11].[PartWhse_OnHandQty] as [PartWhse_OnHandQty],
[SubQuery11].[PartWhse_DemandQty] as [PartWhse_DemandQty],
[SubQuery11].[Calculated_StdTotalCost] as [Calculated_StdTotalCost],
[SubQuery11].[Part_UnitPrice] as [Part_UnitPrice],
[SubQuery11].[PlantWhse_PrimBin] as [PlantWhse_PrimBin]
from SubQuery1 as SubQuery11
order by SubQuery11.Calculated_TopLevel, SubQuery11.Calculated_Ind1