Hive ParseException行5:19无法识别表达式规范(state=42000,code=40000)中“SELECT”“MIN”()附近的输入
我正在蜂箱上运行以下查询Hive ParseException行5:19无法识别表达式规范(state=42000,code=40000)中“SELECT”“MIN”()附近的输入,hive,hiveql,Hive,Hiveql,我正在蜂箱上运行以下查询 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
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)
请在这方面帮助我。配置单元仅支持IN/NOT IN、EXISTS/NOT EXISTS IN where子句子查询。在您的查询中,将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)
有关配置单元子查询支持的更多详细信息,请参见:
配置单元仅支持IN/NOT IN、EXISTS/NOT EXISTS IN where子句子查询。在您的查询中,将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)
有关配置单元子查询支持的更多详细信息,请参见:
感谢@jainik的回答,我也在内部查询中做了更正,如从TMPTBL\u rmid1\u MERGED\u SORTED\u和c内部加入TMPTBL\u RMINDC1\u MERGED\u SORTED\u d在c.medid=d.medid上,其中c.medid=d.medid和c.filetag>=d.filetag中的b.filetag现在正在工作。感谢@jainik的回答,我也在中做了更正内部查询为WHERE b.filetag in SELECT MINc.filetag FROM TMPTBL\u rmid1\u MERGED\u SORTED\u和c内部连接TMPTBL\u RMINDC1\u MERGED\u SORTED\u d on c.medid=d.medid,其中c.medid=d.medid和c.filetag>=d.filetag现在正在工作。