S02043

错误代码

S02043

报错信息

The 'asis' keyword is not supported without a PIVOT BY clause. Please include a valid PIVOT BY clause in your query. RefId:S02043

错误原因

若 SELECT 子句使用 ASIS 函数,则必须结合 PIVOT BY,表示保留 PIVOT BY 结果中的重复数据。以下示例使用了 ASIS,但未使用 PIVOT BY,导致错误:

sym = symbol(`C`IBM`C`IBM)
price= 49.6 10 29.46 29.52 
qty = 2200 100 1900 2100 
timestamp = [09:34:07,09:34:07,09:35:42,09:35:42]
t = table(timestamp, sym, qty, price)
dbName = "dfs://asisTest"
if(existsDatabase(dbName)){
	dropDatabase(dbName)
}
db=database(dbName, VALUE, distinct(sym),,`TSDB)
pt = createPartitionedTable(db, t, `pt,`sym,,`sym).append!(t)
select asis(price) from pt context by timestamp, sym

解决办法

检查 SELECT 查询中是否存在使用了 ASIS 函数,但未使用 PIVOT BY 的情况。