2016-04-25 17 views
0

HABの近くの「 - 」にEOFがありません。ほとんどのクエリが正しいように見えます。 HIVEでマイナスをどのように実装するのか分かりません。あなたは、このようなスペースやダッシュなどの追加の文字が含まれている場合ハイブエラー、減算クエリでEOFエラーが発生する

SELECT 
    a.playerID AS ID, 
    a.yearID AS yearID, 
    (b.HAB - a.EG) AS HAB-EG 
FROM 
    (SELECT 
     playerID, 
     yearID, 
     (E/G) AS EG 
    FROM fielding 
    WHERE (
      yearID > 2005 
      AND yearID < 2009 
      AND G > 20 
      ) 
    ) AS a 
JOIN 
    (SELECT 
     id, 
     year, 
     (hits/ab) AS HAB 
    FROM batting 
    WHERE( 
      year > 2005 
      AND year < 2009 
      AND ab > 40 
      ) 
    ) AS b ON a.playerID = b.id AND a.yearID = b.year; 
+1

問題は、列の別名として 'HAB-EG'を使用している、バッククォートすなわち内に置く' \ 'HAB-EG \は' ' –

答えて

1

エイリアス名は、backtick character (``)文字でクォートする必要があります。
だから次のようにします。

SELECT 
    a.playerID AS ID, 
    a.yearID AS yearID, 
    (b.HAB - a.EG) AS `HAB-EG` 
+0

誰かがすでにsugetionが、感謝を掲載しましたとにかく – dedpo

+0

ああええ..それに気付かなかった.. :( –

関連する問題