【发布时间】:2020-11-01 03:42:51
【问题描述】:
我收到以下错误:
Multiple attributes named business_id in reportAttributeReferenceAmbiguous; p.business_id, s.business_id
来自 SPARK/HIVE 查询:
SELECT
business_id,
p.p1,
p.p2,
s.s1,
s.s2
FROM p_table p
FULL OUTER JOIN s_table s
ON p.business_id = s.business_id
由于我使用的是FULL OUTER JOIN,business_id 可以是p.business_id 或s.business_id,所以我没有指定使用哪一个。 (我以为有些行可能只有p.business_id,而其他一些行可能只有s.business_id,我理解错了吗?)
所以我想知道在上述查询中选择business_id 的正确方法是什么?谢谢!
【问题讨论】:
-
连接结果包括两个表中的所有列
-
你可能想使用 COALESCE(p.business_id, s.business_id)