C#或SQL Server - 如何从多个日期表中获取最早或最晚的日期?

时间:2012-07-12 10:29:23

标签: c# asp.net sql-server datetime

我不确定这个标题是否完全解释了我在这之后的情况,所以让我试着再详细解释......

我需要能够创建一个显示此内容的表...

Dates Examples Enlarge Image

表:

  1. 项目(每次安装和删除此项目)
  2. 供应商(每次供应商与物品一起使用时)
  3. 费率(供应商费率)
  4. 它需要能够:

    1. 获取所选期间的范围
    2. 从表格中获取最早的日期作为开始日期
    3. 获取最新日期
    4. 如果开始日期都在开始期间之前,并且所有结束日期都在结束期间之后,那么它将是一个简单的单行。但是,在期间中间开始或结束的任何日期都会为该行设置相关日期,并在上一行结束后获得下一个开始日期。

      除了这个之外,我使用Linq完成了整个程序,我有一些看起来很有效的东西,但我真的不满意我做的方式。

      我的问题是......处理这些日期的优雅方式是什么?我应该使用C#还是SQL Server获得最佳结果?

1 个答案:

答案 0 :(得分:1)

第一次看到有人在能源管理行业工作。

不幸的是,我不太明白你的问题,但是,我的建议是:

“将生成/检索数据逻辑向下移动一层”

性能:SQL Server> .Net> LINQ

LINQ的功能非常有限,不易处理。

您是否尝试过使用SQL存储过程来恢复一组数据?

case statementmin group by等SQL查询中的函数可以轻松解决您的问题。

在这种情况下,SQL Server会将预期的数据带回C#,然后C#只需要一种方式来呈现这些数据。