Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在sql查询中从json列中的json子字符串检索信息_Sql_Json_Qsqlquery - Fatal编程技术网

如何在sql查询中从json列中的json子字符串检索信息

如何在sql查询中从json列中的json子字符串检索信息,sql,json,qsqlquery,Sql,Json,Qsqlquery,我有一张这样的桌子: [type][localid][data][执行人] 数据列中有json { "type":"music", "local_id":"00000086", "recording":{ "album":null, "title":"null", "loca

我有一张这样的桌子:

[type][localid][data][执行人]

数据列中有json

{
   "type":"music",
   "local_id":"00000086",
   "recording":{
      "album":null,
      "title":"null",
      "local_id":"OUHA_A46013SG0001",
      "composers":[
         "null"
      ],
      "label_name":"null",
      "main_artist":"null",
      "production_country":null
   },
   "starts_at":null,
   "parallel_hash":"8fe1dfd71f8c19be83806455d5194532",
   "report_id":"6bd9e074-5f38-402f-a706-7916def5a9e1",
   "duration_in_seconds":120.4
}
我可以将所有信息检索到每个信息的列中,但我不能将录制{}中的信息分开。 我使用了selectdata::json->>“type”作为类型,等等。。。我已经得到了信息

[type][localid][recording][start_at][report_id][duration_in_seconds][code>

但我也希望在记录数据中分离信息。结果是

[type][local\u id][recording\u album][recording\u title][recording\u local\u id][recording\u composers][recording\u label\u name][recording\u main\u artist][recording\u production\u country][start\u at][parallellel\u hash][report\u id][duration duration in\u in\u seconds][code>


有人能告诉我怎么做吗?

用这个。。。。 数据::json->“录制”-->“相册”作为相册, 数据::json->“录制”-->“标题”作为标题


依此类推,

用这个。。。。 数据::json->“录制”-->“相册”作为相册, 数据::json->“录制”-->“标题”作为标题


等等

您使用的是哪种数据库管理系统?你能列出sql查询吗?我是通过metabase来询问这个信息的。我尝试过//选择data::json->>“类型”作为类型,data::json->>“播放时间报告id”作为id,data::json->>“持续时间(秒)”作为秒,data::json->>“记录”作为事件“ev1”的记录数据其中name='playback_created'//但是当请求data::json->>'album'时,它不提供任何信息。您不能对齐查询并使用rec_数据恢复相册信息吗?如何?通过加入并使用新的选择?我想我不明白。你在用哪个数据库管理系统?你能列出sql查询吗?我是通过metabase来询问这个信息的。我尝试过//选择data::json->>“类型”作为类型,data::json->>“播放时间报告id”作为id,data::json->>“持续时间(秒)”作为秒,data::json->>“记录”作为事件“ev1”的记录数据其中name='playback_created'//但是当请求data::json->>'album'时,它不提供任何信息。您不能对齐查询并使用rec_数据恢复相册信息吗?如何?通过加入并使用新的选择?我想我不明白。