Je souhaite obtenir JSON avec un tableau d'entiers utilisant la fonctionnalité For JSON
de SQL Server 2016. Je suis perplexe sur le tableau des entiers.SQL Server 2016 pour le tableau d'entiers de sortie JSON
structures de table de base de données:
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)
résultats souhaités:
{"EmployeePermissions": [
{"Employee":"Bob", "Permissions":[1,2]},
{"Employee":"Randy", "Permissions":[1,2,3]}
}
C'est le plus proche que je suis devenu, mais pas tout à fait ce que je veux.
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')
retours:
{"EmployeePermissions": [
{"Employee":"Bob", "Permissions":[{"permID":1},{"permID":2}]},
{"Employee":"Randy", "Permissions":[{"permID":1},{"permID":2},{"permID":3}]}
}
Pouvez-vous s'il vous plaît partager le code de travail, il sera contribue à donner plus de réponses – Arulkumar
creat une vue/ResultSet en utilisant pour permID puis obtenir le résultat fait http://stackoverflow.com/questions/10461874/sql-server-concatenate-group-by –
@Arulkumar - a ajouté mon code le plus proche. –