• Another XML-style approach...

    drop table #Results

    ; with a as (select RowNum, cast('<parm '+ replace(replace(Parameters,'=','="'),'&','" ')+ '"/>' as xml) as Xml from #SourceTable)

    select RowNum,

    Xml.value('(parm[1]/@Subject)[1]', 'varchar(255)') as Subject,

    Xml.value('(parm[1]/@Category)[1]', 'varchar(255)') as Category,

    Xml.value('(parm[1]/@Status)[1]', 'varchar(255)') as Status,

    Xml.value('(parm[1]/@IPPDM_Count)[1]', 'varchar(255)') as IPPDM_Count,

    Xml.value('(parm[1]/@Well_Count)[1]', 'varchar(255)') as Well_Count

    into #Results

    from a

    This seems to run much faster for me, but perhaps I'm misunderstanding the problem?

    Ryan Randall

    Solutions are easy. Understanding the problem, now, that's the hard part.