我有一个表,其中每个记录包含3个字段,这些字段是日期(其中一些可能为空),以及其他数据。我希望能够按照在3个日期字段中的任何一个中找到的最大日期按降序排序我的结果。我找到了MySQL的this答案,这正是我想要做的,但似乎在Access中不存在那里提到的功能。
使用美国日期格式,如果我的数据是
id date1 date2 date3
------------------------------------
1 1/1/2001 1/2/2001 10/3/2001
2 7/1/2001 1/2/2002 1/8/2001
3 1/18/2001 6/2/2001 1/3/2003
4 12/1/2001 5/4/2001 8/9/2001
我想回来
id date1 date2 date3
------------------------------------
3 1/18/2001 6/2/2001 1/3/2003
2 7/1/2001 1/2/2002 1/8/2001
4 12/1/2001 5/4/2001 8/9/2001
1 1/1/2001 1/2/2001 10/3/2001
如何创建我的ORDER BY子句以按照我喜欢的方式获取此订单?
答案 0 :(得分:1)
很遗憾,MS Access不提供least()
或greatest()
。你可以用蛮力的方式做到这一点:
order by iif(date1 > date2 and date1 > date3, date1,
iif(date2 > date3, date2, date3)
)