访问:使用标量相关子查询结果进行排序

时间:2015-10-22 18:18:46

标签: ms-access correlated-subquery

在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子句中,整个表达式都没有用。

1 个答案:

答案 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字段表达式列表中的最后一项之后不要包含逗号。