簡體   English   中英

使用 SQL 查詢返回 XML

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM