add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table t(id int auto_increment primary key, jkeys json, jvals json);
insert into t (jkeys, jvals) values
('["a", "b", "c"]', '["apple", "banana", "coconut"]'),
('["x", "y", "z"]', '["xigua", "yangmei", "zucchini"]');
Records: 2  Duplicates: 0  Warnings: 0
select t.id, cast(t.jkeys as char) as jkeys, cast(t.jvals as char) as jvals from t;
id jkeys jvals
1 ["a", "b", "c"] ["apple", "banana", "coconut"]
2 ["x", "y", "z"] ["xigua", "yangmei", "zucchini"]
select t.id, k.o, k.jkey, v.jval
from t
join json_table(t.jkeys, '$[*]' columns (o for ordinality, jkey text path '$')) k
join json_table(t.jvals, '$[*]' columns (o for ordinality, jval text path '$')) v
using(o)
id o jkey jval
1 1 a apple
1 2 b banana
1 3 c coconut
2 1 x xigua
2 2 y yangmei
2 3 z zucchini
select t.id, json_objectagg(k.jkey, v.jval) as j
from t
join json_table(t.jkeys, '$[*]' columns (o for ordinality, jkey text path '$')) k
join json_table(t.jvals, '$[*]' columns (o for ordinality, jval text path '$')) v
using(o)
group by t.id
id j
1 {"a": "apple", "b": "banana", "c": "coconut"}
2 {"x": "xigua", "y": "yangmei", "z": "zucchini"}