sql - Athena - 将 json 提取到行
解决方案
您可以将其转换为行数组并使用UNNEST
:
WITH dataset AS (
SELECT * FROM (VALUES
('a', JSON '[{"id":1, "category": "test"},{"id":2, "category": "test2"}]')
) AS t (xxx, json_string))
SELECT xxx, row.id, row.category
FROM dataset
CROSS JOIN UNNEST(CAST(json_string as ARRAY(ROW (id INTEGER, category VARCHAR)))) as tmp(row)
输出:
xxx | ID | 类别 |
---|---|---|
一种 | 1 | 测试 |
一种 | 2 | 测试2 |
推荐阅读
- python - 如何在 Ubuntu 18.04 (Jetson TX2) 上启动 python 程序?
- visual-studio-code - Visual Studio 代码下载链接坏了?
- java - 在 sqlite 中检查文本
- javascript - 'number' 仅指一种类型,但在此处用作值。ts(2693)
- php - 如何在laravel中创建具有多个表的查询
- angular - CORS 策略阻止了从我的 api 访问 XMLHttpRequest
- ruby-on-rails-5 - 从 Capybara 节点元素获取文本
- java - 在 Java Spring 中连接服务器端会话
- jquery - 有没有办法在 html 标签中动态设置 data-value 属性的值?
- laravel - 如何仅使用 Laravel 直接打印到打印机或制作 pdf 并直接从浏览器打印?