我正在使用systemctl daemon-reload
。我想以给定的格式返回SQL Server 2016
。
选择陈述
Json
预期SELECT Country,[Arm Export],[Food Export] FROM Table
格式
Json
任何帮助将不胜感激....
答案 0 :(得分:1)
试试这个......
SELECT'['+stuff(
(SELECT ',{"'+Country+'":{"Arm Export": '+convert(varchar,[Arm Export])+',"Food Export": '+convert(varchar,[Food Export])+'}}'
FROM TABLE
FOR XML Path('')),1,1,'')+']'[Detail]
输出将是......
[
{
"India":{
"Arm Export": 30,
"Food Export": 50
}
},
{
"USA":{
"Arm Export": 90,
"Food Export": 5
}
},
{
"Russia":{
"Arm Export": 90,
"Food Export": 5
}
}
]
答案 1 :(得分:0)
如果您希望输出完全按照问题中的定义,那么Nithin的答案可能是最好的。
如果输出可能略有不同,您可以尝试FOR JSON PATH
,如下所示:
SELECT Country,
[Arm Export] AS 'Export.Arm Export',
[Food Export] AS 'Export.Food Export'
FROM dbo.tb_CountryExport
FOR JSON PATH;
那会给你一个像这样的输出:
[
{
"Country": "Russia",
"Export": {
"Arm Export": 90,
"Food Export": 5
}
},
{
"Country": "India",
"Export": {
"Arm Export": 30,
"Food Export": 50
}
},
{
"Country": "USA",
"Export": {
"Arm Export": 90,
"Food Export": 5
}
}
]
但正如我所说,输出可能不是你想要的。
Niels