declare @z varchar(100),
 @Step int,
 @q int
select  @Step = 0,
 @q = 0declare @MaterialName varchar(100)
Set @MaterialName=''
declare @ProcessTable table (MaterialName varchar(100), part varchar(100), ProcessStep int)
insert @ProcessTable
 select MaterialName, part, 0
 from  V_SampleMaterialPrt where sampleid=1672
 order by MaterialName, partset @z=''update  @ProcessTable
 set  @z = part = case When @MaterialName=MaterialName then @z else '' end 
+ Case when CHARINDEX(part,@z)=0 then ','+part else '' end,
  @MaterialName=MaterialName,
  @Step = ProcessStep = @Step + 1
 from  @ProcessTableselect  MaterialName,right(part,Len(part)-1) Part
 from  @ProcessTable t
  join (select max(ProcessStep) MaxStep
   from @ProcessTable
   group by MaterialName) x
  on ProcessStep = MaxStepset nocount off