[英]Nested JSON from SQL Server 2016
我有如下表所示的數據
十 | 是 |
---|---|
1 | 一 |
1 | 乙 |
我正在嘗試在 SQL Server 2016 中使用FOR JSON PATH
生成一個 JSON 並獲取如下所示的 JSON:
[
{
"X":1,
"VAL":{
"Y":"A"
}
},
{
"X":1,
"VAL":{
"Y":"B"
}
}
]
但我期待一些看起來像組合的東西,如下所示。
[
{
"X":1,
"VAL":{
"Y":"A",
"Y":"B"
}
}
]
有人可以幫助我如何在 SQL Server 2016 中實現這一目標嗎? 到目前為止,我已經嘗試通過連接獲得一個嵌套的 JSON。
;WITH CTE (X,Y) AS
(
SELECT 1 , 'A'
UNION ALL
SELECT 1 , 'B'
)
SELECT
A.X, B.Y AS 'VAL.Y'
FROM
CTE A
INNER JOIN
CTE B ON A.X = B.X AND A.Y = B.Y
FOR JSON PATH
嘗試這樣的事情:
declare @t table (X int, Y varchar(1));
insert into @t(x,y)
values (1,'A'), (1,'B');
with l1 as (select distinct x from @t)
select l1.X, VAL.Y
from l1 join @t as VAL on l1.x = VAL.x
for json auto, without_array_wrapper
CTE 將從第一列中列出不同的值,然后通過此列將其與主表連接。 FOR JSON AUTO 將嵌套結果並為您提供所需的結構。 結果是:
{
"X":1,
"VAL":[
{
"Y":"A"
},
{
"Y":"B"
}
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.