update parent
set longtext =
stuff((
select ',' + c.char + ': ' + c.val
from child c
where c.uid = parent.uid
for xml path(''), type).value('.','nvarchar(max)'),1,1,'');
Atualizei seu SQLFiddle com a solução.
-
STUFF() função para remover o','
principal (vírgula) da primeira característica.
-
PARA XML para criar um documento XML a partir de um resultado de consulta. Este é um truque bem conhecido com o SQL Server - porque a coluna não é nomeada, não há nenhum elemento produzido e apenas o texto bruto (de cada linha) é gerado, misturado em uma única linha.
Muito poucos artigos na internet tentam explicá-lo em detalhes, já que o código é praticamente deixado como uma explicação em si.