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

concatenating columns from multiple unrelated 1-row resultsets (with group by)

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

concatenating columns from multiple unrelated 1-row resultsets

每个子查询都将包含完全相同的日期范围。我已经尝试将 group by 放在每个子查询和外部查询中,但我似乎无法为每个日期组合每个子查询的行。我在 Hive 中使用这个查询,但我相信任何 ANSI SQL 都可以在这里工作。不要引用我的话。我的场景似乎与我发布的 link 中找到的答案略有不同,但我似乎无法让它发挥作用。

这是我在上面附加的 link 上发布的一个查询:

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?还是有更好的方法来达到相同的结果?

这是你想要的吗?

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;