检查下面的例子。尝试进行 sql 查询,该查询将在 Derby 数据库中运行

Check the example below. Trying to make a sql query which will work in Derby database

我有两个table。

Table 1

Name Month Hours
A    5     2
B    20    1
C    30    5
B    4     6
A    6     3

Table 2

Name    Hours2
A       5
B       6
A       8

结果Table

Name    Hours   Hours2  month
A       2       13      5
A       3       13      6
B       1       6       20
B       6       6       4

所以这里发生的事情是,两个 table 之间有一个连接,条件是 Name 匹配。在个人 table 上, 应该 分组以删除多个条目,但如果我这样做,则需要在那里使用聚合函数。

在 Hours 和 Hours2 上使用聚合函数将产生其中的大部分,但如果我想将月份字段值视为针对它的唯一值,则不可能按组来尝试 partition by 不工作,因为 derby 不支持它。

我无法进行可以执行上述操作的查询。

我认为以下内容适合您

select t1.Name,t1.Hours,t2.Hours2,t1.month from  Table1 t1 
inner join                                           
( SELECT  
  Name,SUM(Hours2)  as Hours2
  from Table2 group by Name     
 ) t2 on t1.Name=t2.Name