S02041

错误代码

S02041

报错信息

The nested joins in a query must return a table. RefId:S02041

错误原因

在 JOIN 查询中,若存在嵌套子查询且子查询也是 JOIN 的情况,子查询必须返回一张表。以下嵌套 JOIN 子查询使用了 EXEC + FIRST,返回的结果是一个标量,不符合要求,导致报错:

t1 = table(`a as a)
t2 = table(`b as b)
t3 = table(`c as c)
select a from t cross join (exec first(b) from t1 cross join t2)

解决办法

检查 JOIN 查询中嵌套的 JOIN 子查询是否使用了 EXEC 关键字。