ASP,使用多列对条件进行排序

时间:2010-04-09 17:09:58

标签: sql asp-classic vbscript

首先,我还在使用带有MS Access数据库的经典ASP(vbScript)。而且,是的,我知道它的陈旧,但我仍然希望我能做到这一点!

现在我的问题是:

以下表为例:

项目

ContactName StartDate EndDate    Complete
Mitch    2009-02-13   2011-04-23   No
Eric    2006-10-01   2008-11-15   Yes
Mike    2007-05-04   2009-03-30   Yes
Kyle    2009-03-07   2012-07-08   No

使用ASP(使用VBScript)和MS Access数据库作为后端,我希望能够使用以下逻辑对此表进行排序:

我想按日期对此表进行排序,但是,根据给定项目是否完整,我希望它使用“StartDate”或“EndDate”作为特定行的参考。

所以要进一步分解,这是我希望实现的目标:

对于完成=“是”的项目, 引用“EndDate”以进行排序。

对于完成=“否”的项目, 引用“StartDate”以进行排序。

因此,如果我按照这些规则对上表进行排序,则输出为:

项目

 ContactName StartDate EndDate   Complete
1 Eric    2006-10-01   2008-11-15*   Yes
2 Mitch    2009-02-13*   2011-04-23   No
3 Kyle    2009-03-07*   2012-07-08   No
4 Mike    2007-05-04   2009-03-30*   Yes

*我在上表中应该用于排序的日期旁边放了一颗星。

注意:这实际上是我真正需要做的简化版本,但我认为如果我能想到这一点,我将能够自己做其余的事情。

任何帮助都非常受欢迎;我现在已经非常吵闹了!

谢谢!

2 个答案:

答案 0 :(得分:2)

select *
from Projects
order by iif(Complete = 'Yes', EndDate, StartDate)

答案 1 :(得分:0)

您的MS Access查询应该类似于

SELECT Table1.ContactName, Table1.StartDate, Table1.EndDate, Table1.Complete
FROM Table1
ORDER BY IIf([Complete]="Yes",[EndDate],[StartDate]);