cod*_*lue 6 sql-server sql-server-json
我们尝试在SQL Server 2016中使用FOR JSON Path从SQL查询中形成嵌套数组.
SQL查询:
SELECT A,
B.name as [child.name],
B.date as [child.date]
from Table 1 join Table 2 on Table 1.ID=Table 2.ID FOR JSON PATH
Run Code Online (Sandbox Code Playgroud)
期望的输出:
[{
A:"text",
"child:"[
{"name":"value", "date":"value"},
{"name":"value", "date":"value"}
]
}]
Run Code Online (Sandbox Code Playgroud)
但是我们得到的是:
[{
A:"text",
"child:" {"name":"value", "date":"value"}
},
{
A:"text",
"child":{"name":"value", "date":"value"}
}]
Run Code Online (Sandbox Code Playgroud)
我们如何使用FOR JSON PATH来形成嵌套的子数组.
而不是 join 使用嵌套查询,例如:
SELECT A
, child=(
SELECT B.name as [child.name]
, B.date as [child.date]
FROM Table 2
WHERE Table 2.ID = Table 1.ID
FOR JSON PATH
)
from Table 1 FOR JSON PATH
Run Code Online (Sandbox Code Playgroud)
(问题中的查询被破坏了,所以这个查询同样被破坏,但应该给你这个想法)
| 归档时间: |
|
| 查看次数: |
2355 次 |
| 最近记录: |