Синтаксическая ошибка: ON RIGHT при попытке сопоставить подстроку в Impala - PullRequest
0 голосов
/ 14 марта 2019

Кто-нибудь знает, почему я получаю эту ошибку?Я использую SQL в IMPALA, и он не будет работать.Theres желтое подчеркивание под mem_register_hsty_view и transparent_services_summary_2018.

Вот мой код:

use sndbx_dx;

SELECT
    r.member_identifier,
    n.fst_nme
FROM mem_register_hsty_view n
JOIN transparency_services_summary_2018 r
    ON RIGHT(TRIM(r.member_identifier),4) = LEFT(n.fst_nme,4)
ORDER BY
    r.id_key,
    r.group_number,
    n.fst_nme;

Вот ошибка:

AnalysisException: синтаксическая ошибка в строке 1: undefined: ... ervices_summary_2018 r ON RIGHT (TRIM (r.member_identifi ... ^ Обнаружено: RIGHT Ожидается: CASE, CAST, DEFAULT, EXISTS, FALSE, IF, INTERVAL, NOT, NULL, REPLACE, TRUNCATE, TRUE, IDENTIFIERПРИЧИНА: Исключение: Синтаксическая ошибка

1 Ответ

0 голосов
/ 14 марта 2019

Из текущей документации Impala функции для получения некоторого количества символов слева или справа от строки, по-видимому, на самом деле равны STRLEFT и STRRIGHT соответственно.Примените это к вашему текущему запросу:

SELECT
    r.member_identifier,
    n.fst_nme
FROM mem_register_hsty_view n
INNER JOIN transparency_services_summary_2018 r
    ON STRRIGHT(TRIM(r.member_identifier), 4) = STRLEFT(n.fst_nme, 4)
ORDER BY
    r.id_key,
    r.group_number,
    n.fst_nme;
...