【发布时间】:2017-11-10 10:07:11
【问题描述】:
我有查询要从这样的表中获取结果:
SELECT test_id, content::json->'scenario'
FROM test
我得到了这些结果,场景列中有对象数组:
test_id | scenario
29 | [{"name":"OpenSignal", "task":[{"name":"speedtest"}]}, {"name":"ITest", "task":[{"name":"speedtest"}]}, {"name":"EqualOne", "task":[{"name":"flashtest"}, {"name":"web"}, {"name":"video"}]}]
30 | [{"name":"Speedtest", "task":[{"name":"speedtest"}]}, {"name":"ITest", "task":[{"name":"speedtest"}]}, {"name":"EqualOne", "task":[{"name":"flashtest"}, {"name":"web"}, {"name":"video"}]}]
对象结构是这样的:
[{
"name": "OpenSignal",
"task": [{
"name": "speedtest"
}]
}, {
"name": "ITest",
"task": [{
"name": "speedtest"
}]
}, {
"name": "EqualOne",
"task": [{
"name": "flashtest"
}, {
"name": "web"
}, {
"name": "video"
}]
}]
我怎样才能得到这样的结果:
test_id | scenario
29 | Opensignal-speedtest
29 | ITest-speedtest
29 | EqualOne-flashtest
29 | EqualOne-web
29 | EqualOne-video
30 | Opensignal-speedtest
30 | ITest-speedtest
30 | EqualOne-flashtest
30 | EqualOne-web
30 | EqualOne-video
和
test_id | scenarios
29 | OpenSignal-speedtest,ITest-speedtest,EqualOne-flashtest, EqualOne-web,EqualOne-video
30 | Speedtest-speedtest,ITest-speedtest,EqualOne-flashtest,EqualOne-web,EqualOne-video
提前感谢我的兄弟们
【问题讨论】:
-
很高兴看到你尝试了什么。它可以帮助我们帮助您。 postgresql.org/docs/current/static/functions-json.html
-
@Mokadillion 谢谢兄弟。我知道我需要展示我的脚本以获得兄弟们的最大帮助和支持
标签: arrays json postgresql object