【发布时间】:2021-11-19 18:23:56
【问题描述】:
我创建了两个表 t1 和 t2,如下所示:
创建表格
CREATE TABLE t1(
id integer AUTOINCREMENT START 1 INCREMENT 1,
name varchar(10) DEFAULT RANDSTR(10, random()),
id_array variant,
)
CREATE TABLE t2(
id integer AUTOINCREMENT START 1 INCREMENT 1,
name varchar(10) DEFAULT RANDSTR(10, random())
)
目标
如果记录的 id 存在于 t1 变量数组中,我希望将 t2 加入到 t1。
我的尝试
我遇到了看起来很完美的 ARRAY_CONTAINS 函数。但是以下我没有收到任何结果:
SELECT t1.id, t2.name
FROM t1, t2
WHERE ARRAY_CONTAINS(t1.id_array, array_construct(t2.id))
我如何得到这个?
对如何实现以下结果有什么建议吗?
t1 record:
{id: 1, name: 'A-123', ids_array: '["1", "2"]'}
t2 records:
{id: 1, name: 'test'},
{id: 2, name: 'test2'}
期望的结果
{id: 1, name: 'A-123', joined_name: 'test'},
{id: 1, name: 'A-123', joined_name: 'test2'}
【问题讨论】:
标签: sql snowflake-cloud-data-platform snowflake-schema snowflake-sql