【发布时间】:2018-09-05 20:33:29
【问题描述】:
我正在尝试通过我的 SQL 数据结果以特定格式创建一个 xml 结果。但我不知道我将如何生成。我知道一种基本的调用方式
目前按照下面的Sql Query
DECLARE @cityFrom VARCHAR(10)= 'Berlin';
DECLARE @CustomerFrom VARCHAR(25)= CASE
WHEN @cityFrom = 'Berlin'
THEN 'ID_1'
WHEN @cityFrom = 'London'
THEN 'ID_2'
WHEN @cityFrom = 'Tsawassen'
THEN 'ID_3'
WHEN @cityFrom = 'Mannheim'
THEN 'ID_4'
END;
SELECT CustomerID,
CustomerName,
Country
FROM Customers
WHERE City = @cityFrom;
FOR XML PATH (''), ROOT('table')
我得到这个输出
<table>
<CustomerID>1</CustomerID>
<CustomerName>Alfreds Futterkiste</CustomerName>
<Country>Germany</Country>
</table>
但我想得到如下预期的结果,
<ID_1>
<Parameter key="ID_1_CustomerID">1</Parameter>
<Parameter key="ID_1_CustomerName">Alfreds Futterkiste</Parameter>
<Parameter key="ID_1_Country">Germany</Parameter>
</ID_1>
我打电话给@CustomerFrom,因为我想将其发布为<ID_1>...</ID_1>。我也知道<table>...</table> 是通过 ROOT('table') 发布的,但我无法通过 ROOT(@CustomerFrom) 获取 ...
问题:有什么解决方案可以让我得到预期的结果吗?
【问题讨论】:
标签: xml sql-server-2012