我试图在apache drill上运行一个简单的查询:
select OTT.Handset, OTT.Handset_OS from datasource.`./OTT_DETAILS_V` as OTT, datasource.`./OS` as D
where OTT.Handset_OS like concat('%', D.OS , '%');
上面的查询试图从./os表中获取所有具有instring操作系统的手机。此查询在oracle上工作,但在drill上失败,错误如下。
Error: UNSUPPORTED_OPERATION ERROR: This query cannot be planned possibly due to either a cartesian join or an inequality join
[Error Id: 6f685286-1b79-4083-8a31-a31788c3c403 on cluster-3:31010] (state=,code=0)
我想这是演习中的错误。有什么方法可以在两个表之间连接“like”运算符吗?
1条答案
按热度按时间ruyhziif1#
我发现join-in-drill(和许多其他数据库)需要有一个精确的匹配条件,并且可以有额外的匹配条件
like
条件。有like
条件本身就会抛出上述错误。