Как я могу объединить табличные результаты и json представление строки в виде столбца в одном запросе? - PullRequest
0 голосов
/ 15 марта 2019

Возможности json сервера sql для запроса json в t-sql и возврата всего набора результатов в виде json великолепны, но я ищу подход «смешанного режима», в котором я хочу указать набор столбцов для результатаустановить, но затем также захотеть, чтобы вся строка была преобразована в объект / столбец json.

Примерно так:

select ProductId, Name, Category, ProductJson = (* for json auto) 
from Product

Как я могу это сделать?

1 Ответ

1 голос
/ 15 марта 2019

Одним способом является коррелированный подзапрос:

SELECT ProductId, Name, Category,
  [JSON] = (SELECT * FROM dbo.Product WHERE ProductID = p.ProductID FOR JSON AUTO) 
FROM dbo.Product AS p;

или CROSS APPLY:

SELECT p.ProductId, p.Name, p.Category, j.son
  FROM dbo.Product AS p 
  CROSS APPLY 
  (SELECT * FROM dbo.Product WHERE ProductID = p.ProductID FOR JSON AUTO) AS j(son);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...