You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SQL将JSON数组转为表格?嵌套数组能否输出为表格并提取ID?

解决嵌套JSON数组转表格并提取line_item id的问题

你的原SQL代码存在路径错误,因为orders是数组类型,无法直接通过$.orders.line_items访问子数组。需要先遍历orders数组,再逐个展开每个订单下的line_items数组,才能正确提取每个line_item的id。

修正后的SQL代码如下:

DECLARE @json NVARCHAR(4000) = N'
{
  "orders":[{
    "id":123,
    "line_items":[{
      "id":1
    },{
      "id":2
    }]
  }]
}';

SELECT li.id AS [id]
FROM OPENJSON (@json, '$.orders') 
WITH (
  line_items NVARCHAR(MAX) AS JSON -- 将每个订单的line_items以JSON格式提取
) AS o
CROSS APPLY OPENJSON(o.line_items)
WITH (
  id BIGINT '$.id' -- 提取line_item的id
) AS li;

执行后会得到你期望的输出:

id
1
2

内容的提问来源于stack exchange,提问作者DreamTeK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 20:55:58