diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index c2f293bbca527208b55e8a5288511b5d61309dfc..ffda3e4c7d4e5b3578a64f76adb819bfd766b5bf 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -4493,10 +4493,16 @@ static int32_t handleExprInQueryCond(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, tSql tSqlExpr* pLeft = (*pExpr)->pLeft; tSqlExpr* pRight = (*pExpr)->pRight; + SStrToken* colName = NULL; + if(pLeft->tokenId == TK_ARROW || pLeft->tokenId == TK_QUESTION){ + colName = pLeft->pLeft->columnName; + }else{ + colName = pLeft->columnName; + } int32_t ret = TSDB_CODE_SUCCESS; SColumnIndex index = COLUMN_INDEX_INITIALIZER; - if (getColumnIndexByName(&pLeft->columnName, pQueryInfo, &index, tscGetErrorMsgPayload(pCmd)) != TSDB_CODE_SUCCESS) { + if (getColumnIndexByName(colName, pQueryInfo, &index, tscGetErrorMsgPayload(pCmd)) != TSDB_CODE_SUCCESS) { return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg2); }