在Access中,是否可以使用标量相关子查询的结果对结果行进行排序?这没有用(返回一个sql错误):
SELECT (SELECT MIN(DateTime) FROM Appt WHERE (PatientID = XXX.ID)) AS minDT, XXX.FullName,
FROM Patient AS XXX
ORDER BY minDT;
取代" minDT"在ORDER BY
子句中,整个表达式都没有用。
答案 0 :(得分:0)
Access不允许您在ORDER BY
中使用字段表达式别名,但您可以使用列的序号...
SELECT *
FROM
(
SELECT
(
SELECT MIN([DateTime])
FROM Appt
WHERE (PatientID = XXX.ID)
) AS minDT,
XXX.FullName
FROM Patient AS XXX
) AS sub
ORDER BY 1;
注意我将DateTime
字段名称括起来,因为我怀疑它是一个保留字。
并且在SELECT
字段表达式列表中的最后一项之后不要包含逗号。