我需要跟踪不同的日期(动态)。因此,对于特定任务,您可以跟踪 X 个日期(例如 DDR1 会议日期、DDR2 会议日期、到期日期等)。
我的策略是创建一个表(DateTypeID、DateDescription)来存储每个日期的描述。然后我可以创建主表(ID、TaskDescription、DateTypeID)。因此,所有日期都将在一列中,您可以通过查看 TypeID 来判断该日期代表什么。问题是在网格中显示它。我知道我应该使用交叉表查询,但我无法让它工作。例如,我在 SQL Server 2000 中使用 Case 语句来旋转表,以便每个列名都是日期类型的名称。如果我们有以下表格:
日期类型表
日期类型ID | 日期描述
1 | DDR1
2 | DDR2
3 | DueDate
任务表
身份证 | 任务描述
1 | Create Design
2 | Submit Paperwork
Tasks_DateType 表
任务ID | 日期类型ID | 日期
1 | 1 | 09/09/2009
1 | 2 | 10/10/2009
2 | 1 | 11/11/2009
2 | 3 | 12/12/2009
结果应该是:
任务描述 | DDR1 | DDR2 | 到期日
Create Design |09/09/2009 | 10/10/2009 | null
Submit Paperwork |11/11/2009 | null | 12/12/2009
如果有人知道我该如何进行研究,我将不胜感激。我这样做而不是为每个日期创建一个列的原因在于能够让用户在未来添加任意数量的日期,而无需手动将列添加到表中并编辑 html 代码。这也允许使用简单的代码来比较日期或按类型显示即将执行的任务(例如“创建设计的 DDR1 日期即将到来”)如果有人能指出我正确的方向,我将不胜感激。