How to generate nested JSON with SQL -
can assist me following query:
i have 2 tables
[sdocumentmanagement].[tdocuments]
[sdocumentmanagement].[tdocumentattachments]
every entry in documents table different document , pk documentid. in table documentattachments can have 1 or more attachments fk - documentid.
what want achieve following.
[   {     documentid: 1,     something: 'blb',     attachments: [       {         attachmentid: 1,         somethingelse: '23232'       }     ]   },   {     documentid: 2,     something: 'blb',     attachments: [       {         attachmentid: 12,         somethingelse: '23232'       },       {         attachmentid: 13,         somethingelse: '23232'       }     ]   } ]   i want take information both tables.
i tried following queries
select @documentsjson = (         select *         [sdocumentmanagement].[tdocuments]         left join [sdocumentmanagement].[tdocumentattachments] on [tdocuments].documentid = [tdocumentattachments].documentid     json path     )        select @documentsjson = (     select     (         select *         [sdocumentmanagement].[tdocumentattachments]         [tdocumentattachments].documentid = [tdocuments].documentid         json path     ) attachments     , *     [sdocumentmanagement].[tdocuments]     json path     )      
ok, found solution:
select @documentsjson = (        select *,        (        select * [sdocumentmanagement].[tdocumentattachments] attachments        attachments.documentid = docs.documentid        json auto        ) documentattachments        [sdocumentmanagement].[tdocuments] docs        docs.organizationid = @organizationid        json path, root('documents') )   but there problem.
no matter declare @documentsjson nvarchar(max) output, sql returning 4500characters documentsjson ? idea problem ?
Comments
Post a Comment