我正在尝试通过创建一个函数来解决我在数据中遇到的问题,该函数从字符串数组中获取代码,并从其他表中获取代码描述,然后将结果重新合并为单个字符串
我想创建一个函数来概括解决我的问题,如果您有其他解决方案,我不希望使用temp函数:
CREATE TEMP FUNCTION
TEST(ref_no INT64,string_array STRING,market_par STRING) AS ( (
SELECT
STRING_AGG(SUBSTR(descr,2,LENGTH(descr)-2),',')
FROM (
SELECT
json_EXTRact(description,'$.EnglishDesc') descr
FROM (
SELECT
CAST(n AS int64) n
FROM (
SELECT
*
FROM
UNnesT(SPLIT(SUBSTR(string_array,LENGTH(string_array)-2))) AS n)) z
JOIN
`project.dataset.table` y
ON
(z.n = y.code
AND y.typeid = ref_no
AND y.market = market_par)) )) ;
所以我将字符串数组转换为嵌套列,然后在其上使用unnest,最后我将结果与字典表结合在一起 我收到以下错误:
CREATE TEMPORARY FUNCTION statements must be followed by an actual query.
我的问题是否可以解决并推广到其他类型的代码,或者我每次都必须使用UDF来对我的解决方案进行硬编码