原因:两个表join的时候,不支持两个表的字段 非相等 操作。
可以把不相等条件拿到 where语句中。
例如:
right JOIN test.dim_month_date p2
on p1.month=p2.y_month and p1.day<=p2.day
可以改写成
right JOIN test.dim_month_date_zyy p2
on p1.month=p2.y_month
where p1.day<=p2.day
当然此时要注意 null 引起的记录数不一致。
转自:hive执行报错:Both left and right aliases encountered in JOIN 's1'