连接来自多个不相关的1行结果集的列(具有分组依据)

时间:2016-11-21 21:43:41

标签: sql hive hiveql

我在这里发现了这个非常相似的问题,除此之外我想做的就是按日期分组。每个子查询中都有一个日期列。

concatenating columns from multiple unrelated 1-row resultsets

每个子查询都将包含完全相同的日期范围。我已经尝试在每个子查询和外部查询中放置group by,但我似乎无法为每个日期组合每个子查询。我在Hive中使用此查询,但我相信任何ANSI SQL都可以在这里工作。不要引用我的话。我的方案似乎是我发布的链接中找到的答案的一个小变化,但我似乎无法使其工作。

以下是我在上面附带的链接中发布的一条查询:

select A, B, C, D 
from ( SELECT SUM(A) as A, SUM(B) as B FROM X ) as U 
CROSS JOIN ( SELECT SUM(C) as C, SUM(D) as D FROM Y ) as V

当每个子查询都有一个日期列时,如何为此添加GROUP BY?或者有更好的方法来实现相同的结果吗?

1 个答案:

答案 0 :(得分:2)

这是你想要的吗?

select u.dte, A, B, C, D 
from (select dte, SUM(A) as A, SUM(B) as B
      from X
      group by dte
     ) u join
     (select dte, SUM(C) as C, SUM(D) as D 
      from Y
      group by dte
     ) v
     on u.dte = v.dte;