【发布时间】:2015-10-27 11:06:27
【问题描述】:
我有一个 PostgreSQL 9.4.5 数据库。有一个表 itemtable 带有一个名为 data 的 JSONB 列,其中包含类似这样的信息集(为简洁起见,删除了很多内容):
{ "items": [
{ "id": 158597 },
{ "id": 156300 },
(...)
] }
现在,我想获取这些项目集中所有 ids 的列表 - 非正式的说法可能是 SELECT id FROM items FROM data FROM itemtable。我只设法使用子查询来做到这一点,这显然不是最理想的:
SELECT idlist->>'id' FROM (
SELECT json_array_elements(data::json->'items') AS idlist FROM itemtable
) AS necessary_subquery_name
我怎样才能不那么复杂?
请注意,我需要在 SquirrelSQL 中运行它,所以需要 ::json 演员表。
【问题讨论】:
标签: sql json postgresql squirrel-sql