以下是输入的示例数据。
以下是所需结果。
if object_id('tempdb.dbo.#store_data') is not null
drop table #store_data
create table #store_data ([key] nvarchar(max),[value] nvarchar(max),storeid varchar(100)
)
INSERT INTO #store_data VALUES ('sid','1','1')
INSERT INTO #store_data VALUES ('bid','3','1');
INSERT INTO #store_data VALUES ('time','2019-01-01','1');
INSERT INTO #store_data VALUES ('que','apple','1');
INSERT INTO #store_data VALUES ('sid','2','2');
INSERT INTO #store_data VALUES ('bid','5','2');
INSERT INTO #store_data VALUES ('hrs','6','2');
INSERT INTO #store_data VALUES ('dat','pine','2');
select * from #store_data
以下是所需结果。
[{
"sid"="1",
"bid"="3",
"time"="2019-01-01"
"que"="apple"},
{"sid"="2",
"bid"="5",
"hrs"="6",
"dat"="pine"
}]
以下是我尝试过的查询:
select [key],[value] from #store_data for json path
没有达到预期结果。
ORDER BY
,它可以运行一百次,通过所有内部测试,但在生产中会返回垃圾。如果bid=3
出现在第一个或第二个JSON对象中,则什么都不是随机的。 - ShnugoORDER BY
,任何SELECT
都可能以任意随机排序返回。如果想要保持排序顺序,最简单的方法是添加一个IDENTITY
列。 - Shnugo