我在运行左连接时尝试使用 SQL UDF,但出现以下错误:
连接谓词中的子查询应该只依赖于一个连接方。
查询是:
CREATE TEMPORARY FUNCTION game_match(game1 STRING,game2 STRING) AS (
strpos(game1,game2) >0
);
SELECT
t1.gameId
FROM `bigquery-public-data.baseball.games_post_wide` t1
left join `bigquery-public-data.baseball.games_post_wide` t2 on t1.gameId=t2.gameId and game_match(t1. gameId, t2.gameId)
Run Code Online (Sandbox Code Playgroud)
内联编写条件时(strpos(t1. gameId, t2. gameId) >0),查询工作而不是函数调用。
这个特定函数是否有问题,或者通常情况下连接谓词不支持 SQL UDF(出于某种原因)?