[英]Return XML using SQL query
我有一張如下表
ID | 測試 |
---|---|
1 | 啊啊啊 |
2 | bbbb |
3 | cccc |
使用 SQL 查詢 XML 如下我收到的 output 如下
SELECT Id, test
from table_1 for xml PATH('Person')
我收到如下 output
<Person>
<Id>1<\ID>
<test>aaaa<\test>
<\Person>
<Person>
<Id>1<\ID>
<test>bbbb<\test>
<\Person>
<Person>
<Id>1<\ID>
<test>cccc<\test>
<\Person>
但我想要一個 output 如下,它可能需要 1 個 ID 和一個標簽中的所有測試
<Person>
<Id>1<\ID>
<tests>
<test>aaaa<\test>
<test>bbbb<\test>
<test>cccc<\test>
<\tests>
<\Person>
有沒有辦法在 SQL 類型的分組中做到這一點,但不完全是
請嘗試以下解決方案。
SQL
-- DDL and sample data population, start
DECLARE @tbl TABLE (ID INT PRIMARY KEY, Test VARCHAR(30));
INSERT INTO @tbl (ID, Test) VALUES
(1, 'aaaa'),
(2, 'bbbb'),
(3, 'cccc');
-- DDL and sample data population, end
SELECT TOP(1) ID
, (
SELECT Test AS [test]
FROM @tbl
FOR XML PATH(''), TYPE, ROOT('tests')
)
FROM @tbl
ORDER BY id ASC
FOR XML PATH(''), TYPE, ROOT('Person');
Output
<Person>
<ID>1</ID>
<tests>
<test>aaaa</test>
<test>bbbb</test>
<test>cccc</test>
</tests>
</Person>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.