我運行類似於在蜂巢查詢:「<EOF>」
SELECT *
FROM (SELECT a
FROM b
WHERE
sex = 'M'
AND degree = 'Bs'
AND age = 15
AND name LIKE 'L%'
);
的錯誤是:
cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in subquery source
我運行類似於在蜂巢查詢:「<EOF>」
SELECT *
FROM (SELECT a
FROM b
WHERE
sex = 'M'
AND degree = 'Bs'
AND age = 15
AND name LIKE 'L%'
);
的錯誤是:
cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in subquery source
增加對您的子查詢表的別名是必要的蜂巢。下面我用't1'作爲別名:
SELECT *
FROM (SELECT a
FROM b
WHERE
sex = 'M'
AND degree = 'Bs'
AND age = 15
AND name LIKE 'L%'
) t1 ;
所有的反對票都是不合理的。 Hive通常不會產生正確的錯誤,並會在您身上拋出懶惰的「EOF」。在這種情況下,您只需爲您的子查詢指定表別名。 SELECT * FROM (.....) tbl_alias
我想一些蜂巢粉絲只是對任何提到蜂巢bug –
您是否嘗試刪除'AND'條件以查看哪個給您的錯誤? –
「類似」並沒有幫助,因爲它看起來像一個語法問題 –
杜杜馬爾科維茨:通過simiar,我的意思是我只是將表名改爲a和b以及列名來老化,否則它是完全一樣的。 – Cyrus