使用 SQL 将输出从视图转换为 json 和雪花数组的问题

issues converting output from a view to json and array in snowflake using SQL

我是 snowflake 的新手,并且已经使用 sql 从 table 成功创建了一个视图,但是我在创建一个将整个 table 转换为 [= 的视图时遇到了问题44=] 和数组

我的观点

create or replace  view my_view as (
  select id, town, created_date, updated_at, array_construct( 
 object_construct('service','green','period', 
 object_construct('Type',type,'end_date', end_date)))Services
from demo
);

my_view输出

id town created_date updated_at Services
123 modak 2024-03-29 2024-03-29 [{ "service": "green", "period":{"Type": "definite", "end_date": "2024-03-29 11:17:42.000"}}]

我的 objective 是从 my_view 创建两个视图,它们将执行以下操作:

  1. 将my_view转换为json
  2. 将my_view转换为数组

下面的代码能够将my_view转换成json并成功排列

select array_agg(object_construct(*)) from my_view; 

select object_construct(*) from my_view; 

但是当我尝试用它创建视图时出现错误

create or replace  view my_json as (
  select object_construct(*) from my_view
);

error generated

SQL compilation error: Missing column specification

表达式必须使用别名:

create or replace  view my_json as (
  select object_construct(*) AS output from my_view
);

或:

create or replace view my_json(output) as (
  select object_construct(*) from my_view
);