Наверное, действительно простой вопрос, чтобы ответить, но я не могу для жизни меня найти его где угодно.Build <options> теги с FOR XML-контуром в SQL. Удалить ненужные атрибуты
Я ищу для создания опций выбора списка из базы данных с помощью FOR XML Path. До сих пор у меня есть это:
SELECT ID AS 'option/@value', Name AS [option]
FROM MyTable
FOR XML Path('')
Который получает меня это:
<option value="1">Item 1</option><option value="2">Item 2</option>... and so on
Да очень простые вещи, но теперь я хочу, чтобы установить, какой вариант выбран, где идентификатор позволяет говорить 1. Так что это должно только когда-либо встречаются один раз. Так что я добавить это:
SELECT
ID AS 'option/@value', Name AS [option],
CASE WHEN ID=1 THEN 'selected' ELSE '' END AS 'option/@selected',
FROM MyTable
FOR XML Path('')
Выход:
<option value="1" selected="selected">Item1</option><option value="2" selected="">Item2</option>
Хотя это технически установить право приписывать мне нужно только атрибут @selected на вариантах, где дело обстоит так.
Любая помощь или точка в правильном направлении были бы очень приняты.