При сверлении соединения между двумя таблицами оператор «Нравится» возвращает UNSUPPORTED_OPERATION

Я пытаюсь выполнить один простой запрос в 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. Этот запрос работает в 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)

Я думаю, что это ошибка в Drill. Есть ли способ объединить две таблицы для оператора «Мне нравится»?


person Srihari Karanth    schedule 12.10.2016    source источник


Ответы (1)


Я понял, что соединение в Drill (и во многих других базах данных) должно иметь условие точного совпадения и может иметь дополнительное условие like. Наличие только одного условия like вызовет указанную выше ошибку.

person Srihari Karanth    schedule 06.12.2016