oracle如何获取特定项目 (它可能重复的键) 的总工作时间使用 sql 查询

发布时间: 2017/4/15 18:46:59
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我正在写一个 iPhone 应用程序,使用 SQLite 作为后端

在我的应用程序有两个表,ProjectsTable,Project_Hours_Table 在我的数据库中。

enter image description here

enter image description here

这里第一个表有与他们的 unique_id 项目的列表。

在第二个表,我有项目 ID (作为外键) 和各自的工作时间。

现在我的要求是让 project_ID 和该特定项目工作时间的总和。

如下

Project_ID  Hours
1             1
2             0
3             5 (1+4)
4             11 (5+6)
5             2
6             13 (7+6)
7             3

任何一个请可以提前提供建议执行查询感谢吗

解决方法 1:

select Project_Id, 
       sum(Hours) as Hours
  from Proj_HoursTable
group by Project_Id

因为所需的字段都可用在 Proj_HoursTable,无需加入到 ProjectTable。将项目名称添加到输出需要加入到 ProjectTable (假定项目 id 和项目名称是 1 对 1

select pjt.ProjName, 
       pht.Project_Id, 
       sum(pht.Hours) as Hours
  from Proj_HoursTable pht join ProjectsTable pjt
    on pjt.Proj_Id = pht.Project_Id
group by pht.Project_Id, pjt.ProjName
赞助商