是否有办法在SQL中创建一个临时2d数组?



我要做的是表1有id我要匹配id

为了得到我正在寻找的东西,发现试图创建这个

array { (col1, col2), ... }

我现在得到的是

array as 
(
Select x as col1, y as col2 from
Values
( ‘col1’,’col2’), etc … )
Select * from table1
Where table1.col2 = array.col2 

then get col1

您可能需要编辑问题以提供有关您的最终目标的更多细节,但这解决了问题的2D数组部分。您可以嵌套array_construct来在array_agg中创建行数组,以构造这些行的2D数组:

select array_agg(array_construct(*)) as TWO_D_ARRAY
from SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.NATION;

请记住,对于Snowflake中的任何数据类型,此技术都受16Mb限制(截至2023年4月)。

最新更新