diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c index 0d56efc996950bc9b25e6e51fd004f6eeda68df3..481fe6a743d6e6ba9874e5749834f2a8cb1972b9 100644 --- a/src/client/src/tscUtil.c +++ b/src/client/src/tscUtil.c @@ -3980,11 +3980,7 @@ void executeQuery(SSqlObj* pSql, SQueryInfo* pQueryInfo) { pSql->pSubs[i] = pNew; SSqlCmd* pCmd = &pNew->cmd; - if (pSub->command == TSDB_SQL_RETRIEVE_EMPTY_RESULT) { - pCmd->command = TSDB_SQL_RETRIEVE_EMPTY_RESULT; - } else { - pCmd->command = TSDB_SQL_SELECT; - } + pCmd->command = TSDB_SQL_SELECT; if ((code = tscAddQueryInfo(pCmd)) != TSDB_CODE_SUCCESS) { goto _error; } @@ -4002,6 +3998,11 @@ void executeQuery(SSqlObj* pSql, SQueryInfo* pQueryInfo) { // create sub query to handle the sub query. SQueryInfo* pq = tscGetQueryInfo(&psub->cmd); + STableMetaInfo* pSubMeta = tscGetMetaInfo(pq, 0); + if (UTIL_TABLE_IS_SUPER_TABLE(pSubMeta) && + pq->command == TSDB_SQL_RETRIEVE_EMPTY_RESULT) { + psub->cmd.command = TSDB_SQL_RETRIEVE_EMPTY_RESULT; + } executeQuery(psub, pq); }