У меня есть таблицаTSQL: Как выбрать строки в XML-элемент
Cost RenderedValue SectionName
------------------------------------
100.00 1000.00 Section1
200.00 2000.00 Section2
300.00 3000.00 Section3
400.00 4000.00 Section4
, и я хочу, чтобы произвести этот XML:
<Root>
<Section1Cost>100.00</Section1Cost>
<Section1RenderedValue>1000.00</Section1RenderedValue>
<Section2Cost>200.00</Section2Cost>
<Section2RendredValue>2000.00</Section2RendredValue>
</Root>
я был в состоянии произвести его с помощью TSQL (Test мое имя таблицы)
SELECT
(SELECT Cost AS 'Cost'FROM Test WHERE SectionName = 'Section1') AS 'Section1Cost',
(SELECT RenderedValue AS 'Cost'FROM Test WHERE SectionName = 'Section1') AS 'Section1RenderedValue',
(SELECT Cost AS 'Cost'FROM Test WHERE SectionName = 'Section2') AS 'Section2Cost',
(SELECT RenderedValue AS 'Cost'FROM Test WHERE SectionName = 'Section2') AS 'Section2RendredValue'
FOR XML Path(''), Root('Root')
Но это уродливо, и я думаю, что он не оптимизирован. Может ли быть более элегантным, или что у меня есть, правильно?
я, возможно, не более 30 строк в этой тестовой таблице
Пожалуйста, быть в курсе о том,, что все специалисты, дающие ответы на SO голодны для очков репутации. [Пожалуйста, прочтите это: кто-то-ответы] (http://stackoverflow.com/help/someone-answers). Было бы неплохо также взглянуть на ваши старые вопросы. Спасибо! – Shnugo