SELECT master.id as "@id",
detail.columnname AS "@columnname",
v+''
FROM (
VALUES
(123),
(456)
) AS master(id)
INNER JOIN (
VALUES
(123,'Customer','John Smith'),
(123,'Amount','888.45'),
(123,'Date','01/01/01'),
(456,'Customer','Suzie Jones'),
(456,'Amount','1000.25'),
(456,'Date','05/05/01')
) AS detail(id,columnname,v)
ON master.id = detail.id
FOR XML PATH('Detail')