将列和值作为属性连接到 SQL Server 中另一列中的现有 JSON 对象

发布于 2025-01-09 10:10:52 字数 156 浏览 3 评论 0原文

假设我有下表 产品

在此处输入图像描述

Let's say I have the following table Product

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你的笑 2025-01-16 10:10:52

您可以使用嵌套的 FOR JSON 子查询,该子查询使用 OPENJSON 打开原始 JSON 并重新聚合它

SELECT
  p.ProductID,
  p.ProductName,
  (
      SELECT
        p.ProductID,
        p.ProductName,
        j.Price,
        j.Shipper
      FROM OPENJSON(p.Results, '$.Results')
        WITH (
            Price int,
            Shipper varchar(100)
        ) j
      FOR JSON PATH, ROOT('Results')
  ) AS Results
FROM Product p;

You can use a nested FOR JSON subquery, which breaks open the original JSON using OPENJSON and re-aggregates it

SELECT
  p.ProductID,
  p.ProductName,
  (
      SELECT
        p.ProductID,
        p.ProductName,
        j.Price,
        j.Shipper
      FROM OPENJSON(p.Results, '$.Results')
        WITH (
            Price int,
            Shipper varchar(100)
        ) j
      FOR JSON PATH, ROOT('Results')
  ) AS Results
FROM Product p;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文