Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.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

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数组_Sql_Json_Postgresql_Squirrel Sql - Fatal编程技术网

Sql 选择/查询";变成;JSON数组

Sql 选择/查询";变成;JSON数组,sql,json,postgresql,squirrel-sql,Sql,Json,Postgresql,Squirrel Sql,我有一个PostgreSQL 9.4.5数据库。有一个表itemtable,其中有一个名为data的JSONB列,其中包含这样的信息集(为了简洁起见,去掉了很多内容): 现在,我想获得这些项目集中所有ids的列表-非正式地说,可以说selectid fromthedata FROM itemtable。我只使用子查询实现了这一点,这显然是次优的: SELECT idlist->>'id' FROM ( SELECT json_array_elements(data::json

我有一个PostgreSQL 9.4.5数据库。有一个表
itemtable
,其中有一个名为
data
的JSONB列,其中包含这样的信息集(为了简洁起见,去掉了很多内容):

现在,我想获得这些项目集中所有
id
s的列表-非正式地说,可以说
selectid fromthedata FROM itemtable
。我只使用子查询实现了这一点,这显然是次优的:

SELECT idlist->>'id' FROM ( 
   SELECT json_array_elements(data::json->'items') AS idlist FROM itemtable 
) AS necessary_subquery_name
我怎样才能做得不那么复杂


请注意,我需要在SquirreSQL中运行此命令,因此需要
::json
强制转换。

哦,没关系,我今天一定错过了一杯咖啡。很明显:

SELECT json_array_elements(data::json->'items')->>'id' FROM itemtable
SELECT json_array_elements(data::json->'items')->>'id' FROM itemtable