JSONB 查询不会进入视图
JSONB query won't stick into a view
我有什么
CREATE TABLE "1".events
(
doc jsonb,
id character varying(36),
)
doc
jsonb 字段包含一个 json 这样的
{ "id": "a", "sessions": [{"id":"1"}, {"id": "2"}, ..., {"id":"18"}] }
现在我想要一个视图,每个会话给我一行,所以我写:
select e.id, obj FROM "1".events e, jsonb_array_elements(e.doc->'sessions') obj
这很有魅力!
"e1" "{"id": "18"}"
...
相反不起作用是将此查询粘贴在视图中
create or replace view events_session_v as
(select e.id, obj FROM "1".events e, jsonb_array_elements(e.doc->'sessions') obj)
********** Error **********
ERROR: cannot change name of view column "?column?" to "id"
SQL state: 42P16
这个创建视图有什么问题?
视图 events_session_v
已经存在,如果 return 类型要更改,您不能替换它。使用 drop view
:
drop view events_session_v;
create or replace view events_session_v as
select e.id, obj
from "1".events e, jsonb_array_elements(e.doc->'sessions') obj;
我有什么
CREATE TABLE "1".events
(
doc jsonb,
id character varying(36),
)
doc
jsonb 字段包含一个 json 这样的
{ "id": "a", "sessions": [{"id":"1"}, {"id": "2"}, ..., {"id":"18"}] }
现在我想要一个视图,每个会话给我一行,所以我写:
select e.id, obj FROM "1".events e, jsonb_array_elements(e.doc->'sessions') obj
这很有魅力!
"e1" "{"id": "18"}"
...
相反不起作用是将此查询粘贴在视图中
create or replace view events_session_v as
(select e.id, obj FROM "1".events e, jsonb_array_elements(e.doc->'sessions') obj)
********** Error **********
ERROR: cannot change name of view column "?column?" to "id"
SQL state: 42P16
这个创建视图有什么问题?
视图 events_session_v
已经存在,如果 return 类型要更改,您不能替换它。使用 drop view
:
drop view events_session_v;
create or replace view events_session_v as
select e.id, obj
from "1".events e, jsonb_array_elements(e.doc->'sessions') obj;