-2

Infopath を使用してタイムシートを作成しています。データはデータベースに保存されるため、そのためにテーブルを作成する必要があります。このタイムシートは 1 年を通して使用されます。

SQL テーブルの作成についてサポートが必要です。このタイムシートに必要なテーブル構造は次のとおりです。

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

日付は日付 (2013 年 1 月 1 日月曜日など) である必要があります。または、これを行うためのより良い方法があれば提案してください。

4

2 に答える 2

0

sgeddesが示唆しているように、これにアプローチするには、おそらく複数のテーブルの方がはるかに優れた方法です。

個人的には、1行に1日を超えることは避け、柔軟にするために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 に答える