Sql server 如何使用SQL server将事务数据嵌套为JSON格式

Sql server 如何使用SQL server将事务数据嵌套为JSON格式,sql-server,sql-server-2012,Sql Server,Sql Server 2012,我指的是 我有两个带有以下字段的表用户和通知: 用户:Id,Name 通知:Id、用户Id、消息 如何以以下格式获取结果: [ { Id: 1 Name: User Notifications : [ { Id:2, Message:'XYZ' }, { Id:3, Message:'ABC' }] }, {

我指的是

我有两个带有以下字段的表用户和通知:

用户:Id,Name

通知:Id、用户Id、消息

如何以以下格式获取结果:

[
   {
      Id: 1
      Name: User
      Notifications : [
      {
          Id:2,
          Message:'XYZ'
      }, 
      {
          Id:3,
          Message:'ABC'
      }]
   },

   {
      Id: 2
      Name: User
      Notifications : [
      {
          Id:3,
          Message:'XYZ'
      }, 
      {
          Id:4,
          Message:'ABC'
      }]
   }
]

如何用SQL server将事务数据嵌套为JSON格式?

我尝试了以下方法并获得了解决方案。这是我第一次在sql server 2016中使用JSON

SELECT [U].[Id], [U].[Name],[T].[Id] , [T].[Message] FROM [User] [U]
OUTER APPLY (SELECT  [T].[Id] , [T].[Message] FROM [Transaction] [T] WHERE [T].[UserId] = [U].[Id]) Transaction
FOR JSON AUTO
输出:

[{"Id":64629,
   "Name":"XYZ",
  "Transaction":
  [
    { "Id":10 , "Message": "xyz"},
    { "Id":11 , "Message": "xyz1"},
    { "Id":12 , "Message": "xyz2"},
   ]
  }
]

到目前为止你试过什么?给我们看一些代码。