Строка ParseException 5:19 не может распознать ввод вблизи 'SELECT' 'MIN' '(' в спецификации выражения (состояние = 42000, код = 40000) - PullRequest
0 голосов
/ 06 февраля 2019

Я выполняю запрос ниже в улье

SELECT 
  a.NDC,
  a.filetag,
  b.filetag AS filetag_RMIID1,
  a.medid,
  b.MED_REF_FED_LEGEND_IND,
  b.MED_MEDID_DESC
FROM 
  TMPTBL_RMINDC1_MERGED_SORTED_ND a
  INNER JOIN TMPTBL_RMIID1_MERGED_SORTED_ND b ON a.medid = b.medid
WHERE 
  b.filetag = (SELECT MIN(c.filetag) FROM TMPTBL_RMIID1_MERGED_SORTED_ND c WHERE c.medid = a.medid AND c.filetag >= a.filetag)

и получаю ошибку ниже

Error: Error while compiling statement: FAILED: ParseException line 
5:19 cannot recognize input near 'SELECT' 'MIN' '(' in expression 
specification (state=42000,code=40000)

, пожалуйста, помогите мне в этом.

1 Ответ

0 голосов
/ 06 февраля 2019

Hive поддерживает только IN/NOT IN, EXISTS/NOT EXISTS в подзапросе предложения where.В вашем запросе замените условие где ниже, и оно должно работать:

b.filetag in (SELECT MIN(c.filetag) FROM TMPTBL_RMIID1_MERGED_SORTED_ND c 
WHERE c.medid = a.medid AND c.filetag >= a.filetag)

Более подробную информацию о поддержке подзапросов кустов можно найти здесь: Подзапросы кустов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...