所以我有两个表:表1和表2它们都有同名的不同列。我们只需要处理两列:id和region表\u 1的id字段仅与表\u 1不同。表2的id字段仅与表2不同。但是,某些id字段由表1和表2共享我需要编写一个查询,从region='1'的两个表中获取不同id字段的数量
wqsoz72f1#
一个完整的外部连接应该可以做到这一点。
SELECT COUNT(*) FROM table_1 FULL OUTER JOIN table_2 ON (table_1.id=table_2.id)
它将为表1或表2中的每个id创建一行。如果id在两个表中,它仍将创建一行。https://cwiki.apache.org/confluence/display/hive/languagemanual+joins
drkbr07n2#
使用sql,利用并集消除两个表之间的重复值,这样就剩下了一个不同的id值列表。
SELECT COUNT(*) FROM (SELECT ID FROM table_1 WHERE REGION = '1' UNION SELECT ID FROM table_2 WHERE REGION = '1') t
2条答案
按热度按时间wqsoz72f1#
一个完整的外部连接应该可以做到这一点。
它将为表1或表2中的每个id创建一行。如果id在两个表中,它仍将创建一行。
https://cwiki.apache.org/confluence/display/hive/languagemanual+joins
drkbr07n2#
使用sql,利用并集消除两个表之间的重复值,这样就剩下了一个不同的id值列表。