Mi piacerebbe ottenere JSON con un array di numeri interi utilizzando la funzionalità For JSON
di SQL Server 2016. Sono perplesso sulla matrice di numeri interi.SQL Server 2016 per matrice di interi in uscita JSON
strutture delle tabelle del database:
declare @Employees table (ID int, Name nvarchar(50))
insert into @Employees values
(1, 'Bob'),
(2, 'Randy')
declare @Permissions table (ID int, PermissionName nvarchar(50))
insert into @Permissions values
(1, 'Post'),
(2, 'Comment'),
(3, 'Edit'),
(4, 'Delete')
declare @EmployeePermissions table (EmployeeID int, PermissionID int)
insert into @EmployeePermissions values
(1, 1),
(1, 2),
(2, 1),
(2, 2),
(2, 3)
risultati desiderati:
{"EmployeePermissions": [
{"Employee":"Bob", "Permissions":[1,2]},
{"Employee":"Randy", "Permissions":[1,2,3]}
}
Questo è il più vicino che ho ottenuto, ma non del tutto quello che voglio.
select
e.Name as Employee,
(select
convert(nvarchar(10),ep.PermissionID) as PermID
from @EmployeePermissions ep
where ep.EmployeeID=e.ID
for json path) as 'Permissions'
from
@Employees e
for json path, root('EmployeePermissions')
rendimenti:
{"EmployeePermissions": [
{"Employee":"Bob", "Permissions":[{"permID":1},{"permID":2}]},
{"Employee":"Randy", "Permissions":[{"permID":1},{"permID":2},{"permID":3}]}
}
ti invitiamo a condividere il codice di lavoro, lo farà aiuta a dare più risposte – Arulkumar
creat una vista/gruppo di risultati utilizzando per permID e quindi ottenere il risultato fatto http://stackoverflow.com/questions/10461874/sql-server-concatenate-group-by –
@Arulkumar - ha aggiunto il mio codice più vicino. –