0

このクエリで何が間違っているのか、実行しようとすると常にエラーが発生します。

SELECT
   t1.buyer_id,
   t1.item_id,
   t1.created_time,
   t2.product_id,
   t2.timestamps
FROM
   TestingTable1 t1
   JOIN
   (
   SELECT
      user_id,
      prod_and_ts.product_id as product_id,
      prod_and_ts.timestamps as timestamps
   FROM 
      TestingTable2 
      LATERAL VIEW explode(purchased_item) exploded_table as prod_and_ts
   ) t2
   ON(t1.buyer_id = t2.user_id)
WHERE
   (t1.item_id <> t2.product_id)
   OR (unix_timestamp(t1.created_time) <> t2.timestamps);

これは私が得るエラーです-

FAILED: Error in semantic analysis: line 13:6 Invalid Table Alias or 
Column Reference prod_and_ts
4

1 に答える 1

0

よくわかりませんが、側面図の構文

LATERAL VIEW udtf(expression) tableAlias AS columnAlias (',' columnAlias)*

あなたの場合、prod_and_ts は tableAlias ではなく columnAlias であり、prod_and_ts.product_id は使用できません。代わりに、prod_and_ts のみを使用してみてください。

于 2012-07-11T04:59:52.807 に答える