Chciałbym uzyskać JSON z tablicą liczb całkowitych za pomocą funkcji SQL Server 2016's For JSON
. Jestem zakłopotany na tablicy liczb całkowitych.Serwer SQL Server 2016 dla tablicy liczb całkowitych JSON
struktury tabeli bazy danych:
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)
pożądanych rezultatów:
{"EmployeePermissions": [
{"Employee":"Bob", "Permissions":[1,2]},
{"Employee":"Randy", "Permissions":[1,2,3]}
}
To jest najbliżej stałam, ale nie całkiem to, czego chcę.
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')
powraca:
{"EmployeePermissions": [
{"Employee":"Bob", "Permissions":[{"permID":1},{"permID":2}]},
{"Employee":"Randy", "Permissions":[{"permID":1},{"permID":2},{"permID":3}]}
}
Czy należy udostępnić kod produkcyjnym, wystarczy dać więcej odpowiedzi – Arulkumar
creat view/wynikowego użyciem permID a następnie uzyskać wynik zrobione http://stackoverflow.com/questions/10461874/sql-server-concatenate-group-by –
@Arulkumar - dodał mój najbliższy kod. –