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,'');
Saya telah memperbarui SQLFiddle Anda dengan solusinya.
-
STUFF() berfungsi untuk menghapus
','
(koma) dari karakteristik pertama. -
UNTUK XML untuk membuat dokumen XML dari hasil kueri. Ini adalah trik yang terkenal dengan SQL Server - karena kolom tidak diberi nama, tidak ada elemen yang dihasilkan dan hanya teks mentah (setiap baris) yang dihasilkan, digabungkan menjadi satu baris.
Sangat sedikit artikel di internet yang mencoba menjelaskannya secara mendetail, karena kodenya cukup banyak dibiarkan sebagai penjelasan tersendiri.