1

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

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

在此处输入图像描述

在此处输入图像描述

在第一个表中,我列出了带有其 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

任何人都可以提供实施查询的建议 提前谢谢

4

2 回答 2

2
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
于 2013-01-18T05:15:53.310 回答
1

首先,您需要显示Proj_Id特定项目(您想要显示总小时数)并将其存储在变量中。

然后在为此编写查询之后

select * from Project_Hours_Table  where Proj_Id = Proj_Id  

此查询返回Proj_Id您需要的所有特定数据。并将其数据存储到NSMutableDictionary,在您需要通过字典获取Hour字段的值之后key @"hour"

您将此值返回为NSSting,您需要将其转换intValue

int hourCount = [StringHourValue intValue];

and count it it will give you total number of Hour
于 2013-01-18T05:14:20.957 回答