-2

我正在使用 Infopath 创建一个时间表。数据将存储在数据库中,因此我必须创建一个表。该时间表将用于全年。

我在创建 SQL 表时需要帮助。我想要这个时间表的表结构是:

Project_Category   Mon   Tue    Wed   Thu    Fri    Sat  Sun    Total
    Project 1   
    Project 2
    Project 3
    Project 4
    Project 5
    Other
    Total                                                                  

日期应该是日期(例如,星期一 01/01/2013),或者如果您有更好的方法,请建议我。

4

2 回答 2

0

正如 sgeddes 所建议的那样,多表可能是解决此问题的更好方法。

就我个人而言,我会避免每行超过 1 天,并且为了使其灵活,每天允许超过一个条目。

我将创建的结构如下:

Entry_ID INT IDENTITY(1,1) PRIMARY KEY
Timesheet_ID INT,
Project_ID INT,
DateTimeFrom DATETIME,
DateTimeTo DATETIME

这使得基于日期的计算变得更加简单。

例如。6 月 20 日至 6 月 25 日期间项目 X 的​​小时数将是这样的查询:

SELECT SUM(DATEDIFF(MINUTES,DateTimeFrom,DateTimeTo)/60) AS [HOURS]
FROM MyTable
WHERE DateTimeFrom >= '2012-06-25' AND DateTimeTo <= '2012-06-29'
于 2013-01-24T14:38:11.037 回答
0

我不会将这些数据存储在一个表中。考虑使用多个表而不是单个表来创建它。

例如,您可以有一个Projects带有ProjectId和的表ProjectName。然后您可以轻松地将您的ProjectId字段链接到ProjectSummary存储ProjectId,DateFieldTotal. 我不知道您的 Total 行应该是什么,但如果它是日期范围的计算,请使用 SQL 计算这些值并且不要将其存储在表中。

祝你好运——网上有很多资源可以开始使用 SQL——做一些搜索。

于 2013-01-24T14:28:11.750 回答