我有一个sql
表,我试图根据以下标准从中获得结果:
从上表中,我想创建xml
必须返回结果为:
这是我为
DECLARE
@ResourceName VARCHAR(50)
, @XMLResult XML = NULL
, @xMSG XML = NULL
SET @ResourceName = 'Property'
SET @xmsg = '<Results ReplyCode="0" ReplyText="Operation successful"><Result></Result></Results>'
SET @xMSG =
(
SELECT 0 AS [@ReplyCode]
, 'Operation Successfull' AS [@ReplyText]
, @ResourceName AS ResourceName
, ( SELECT *
FROM (
SELECT SystemName
, DBName
, ShortName
, ClassSortOrder
, Pcode
, TabNumber
, ColumnNumber
, RowNumber
FROM ScreenOrder
) SearchFieldsList
ORDER BY ClassSortOrder
FOR XML PATH('Field'), TYPE
)
FOR
XML PATH('Results')
)
SET @XMLResult = @xMSG
SELECT @XMLResult
但是这个查询没有返回预期的结果。此查询返回结果为:
我试图将所有这些字段作为类明智的放在 xml 中。我需要在哪里修改查询?
与子查询一起使用
FOR XML PATH
以获得适当的嵌套级别,如下所示:这不是 100% 清楚的,因为您的示例数据与您的示例 XML 不同,但希望这可以为您提供一个起点。