首先,我还在使用带有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
*我在上表中应该用于排序的日期旁边放了一颗星。
注意:这实际上是我真正需要做的简化版本,但我认为如果我能想到这一点,我将能够自己做其余的事情。
任何帮助都非常受欢迎;我现在已经非常吵闹了!
谢谢!
答案 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]);