我有一些数据看起来像这样:
| 来自其他列的数据|JSON数据|
| --|--|
| 数据1| JSON 1|
| 数据2| JSON 2|
JSON数据如下所示:
{
"status": "x"
,"campaigns": [
{"channel": "channel_1", "name": "sample_1"}
,{"channel": "channel_2", "name": "sample2"}
,{"channel": "channel_3", "name": "sample_3"}
]
}
字符串
**我需要创建一个查询,为每个渠道提供1行。**使用JSON_QUERY()
仅在活动只有1个渠道时提供输出。在上面的示例中,JSON_QUERY()
将失败,因为活动中有3个渠道。
SELECT
normal_data
,json_array
,json_query(
json_array
,'lax $.campaigns.channel'
) AS test
FROM test
型
然而,这只会得到只有一个通道的示例,否则会产生错误。我需要得到通道和名称的每个示例。
我的预期输出为:
| 其他列的正态数据|信道|名称|
| --|--|--|
| 数据_1| channel_1|样品_1|
| 数据_1|通道_2|样品_2|
| 数据_1| channel_3|样品_3|
| 数据_2| channel_1|样品_1|
| 数据_2|通道_2|样品_2|
| 数据_2|通道_2|样品_3|
感谢您的帮助!
1条答案
按热度按时间abithluo1#
就我个人而言,我只会使用
json_extract
函数进行一些转换(到数组)和取消嵌套。例如:字符串
输出量:
| 信道|名称|
| --|--|
| channel_1|样品_1|
| 通道_2| sample2|
| channel_3|样品_3|