带有 JSON 列和分组依据的 SQL 选择

时间:2021-03-09 00:47:23

标签: sql sql-server

下面是我在 SQL Server 2016 上使用的 SQL 查询。我正在尝试以特定格式返回。

问题:

  • 分组不起作用,它为每个演员 ID 创建一个新行
  • JSON 将 ActorId 添加为对象,我只想要逗号分隔值。 (当我删除“AS ActorId”时 - 我收到此错误“无法使用 FOR JSON 子句将没有名称或别名的列表达式和数据源格式化为 JSON 文本”

查询:

SELECT 
  Movie.Id AS 'Movie Id',
  Movie.Name AS 'Movie Name',
  (SELECT CAST(Actor.Id AS NVARCHAR(MAX)) AS 'ActorId' FOR JSON PATH) AS 'Actor Id Json List'
FROM Movie AS Movie
JOIN ActorLink AS ActorLink ON Movie.Id = ActorLink.MovieId
GROUP BY Movie.Id, Movie.Name, CAST(Actor.Id AS NVARCHAR(MAX))

enter image description here

0 个答案:

没有答案