Не должно быть слишком сложно .... попробуйте это:
DECLARE @Test TABLE (id INT, NAME VARCHAR(20), VALUE VARCHAR(20), colx VARCHAR(5), coly VARCHAR(5))
INSERT INTO @test VALUES (1, 'name1', 'value1', 'x1', 'y1'),
(2, 'name2', 'value2', 'x2', 'y2'),
(3, 'name3', 'value3', 'x3', 'y3'),
(4, 'name4', 'value4', 'x4', 'y4')
SELECT
value AS '@value',
colx AS '@data-colx',
coly AS '@data-coly',
name AS 'text()'
FROM @Test
FOR XML PATH('option')
Это дает мне вывод, который вы ищете:
<option value="value1" data-colx="x1" data-coly="y1">name1</option>
<option value="value2" data-colx="x2" data-coly="y2">name2</option>
<option value="value3" data-colx="x3" data-coly="y3">name3</option>
<option value="value4" data-colx="x4" data-coly="y4">name4</option>