S02059

错误代码

S02059

报错信息

Cannot recognize table name or alias '<…>'. RefId: S02059

错误原因

当进行分布式表查询或表连接查询(连接语句使用表连接函数)时,若 select 子句中在表名后使用了通配符 “*”(例如 “tableName.*“),但 from 子句中没有包含该表,会出现该报错,见下例:

t1 = table(`a as id)
t2 = table(`b as id)
t3 = table(`c as id)

dbName = "dfs://test"
if (existsDatabase(dbName)) {
    dropDatabase(dbName)
}
db = database(dbName, VALUE, `a`b)
pt = db.createPartitionedTable(t1, `pt, `id)
pt.append!(t1)

select t3.* from pt
select t3.* from ej(t1, t2, `id)

解决办法

确保在 select 子句中对表名使用通配符 "*" 时,对应的表名也在 from 子句中指定。