Sql 如何在多任务查询中对多个列进行排序?

Sql 如何在多任务查询中对多个列进行排序?,sql,sorting,ms-access,multiple-columns,multi-table,Sql,Sorting,Ms Access,Multiple Columns,Multi Table,我有一个关于如何发现基于员工性别的工资歧视的问题。我有MS Acess 2007,必须使用SQL查询才能找到答案 请记住,这是在我将3个表合并到一个多表查询中之后。在这个查询中,每当我想对任何列进行排序时,例如,orderbysalary,它都会给我一个错误标志,告诉我: Syntax error (missing operator) in query expression 'Salary' WHERE JobClass.JobClassID = Employees.JobClassID AN

我有一个关于如何发现基于员工性别的工资歧视的问题。我有MS Acess 2007,必须使用SQL查询才能找到答案

请记住,这是在我将3个表合并到一个多表查询中之后。在这个查询中,每当我想对任何列进行排序时,例如,
orderbysalary
,它都会给我一个错误标志,告诉我:

Syntax error (missing operator) in query expression 'Salary'
WHERE JobClass.JobClassID = Employees.JobClassID 
AND Department.DepartmentID = Employees.DepartmentID'.
我想尝试对查询中的多个列进行排序

以下是多表查询代码总计:

SELECT JobClass.JobClassID, JobClassName, Department.DepartmentID, 
       DepartmentName, LastName, FirstName, Title, Sex, Years, Salary
FROM  JobClass, Employees, Department
ORDER BY 'Salary'
WHERE JobClass.JobClassID = Employees.JobClassID AND Department.DepartmentID = Employees.DepartmentID;

除非Access'07完全忽略了标准SQL(我认为不是这样),否则您的SQL语法是关闭的

与其将
ORDER BY
放在
WHERE
子句之前,不如放在
WHERE
之后

ORDERBY子句应位于where子句之后

像这样试试

SELECT JobClass.JobClassID, JobClassName, Department.DepartmentID, 
       DepartmentName, LastName, FirstName, Title, Sex, Years, Salary
FROM  JobClass, Employees, Department
WHERE JobClass.JobClassID = Employees.JobClassID AND Department.DepartmentID = Employees.DepartmentID
ORDER BY Salary
SLECT语法

SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, …]]}     
FROM tableexpression [, …] [IN externaldatabase]     
[WHERE… ]    
[GROUP BY… ]     
[HAVING… ]     
[ORDER BY… ]     
[WITH OWNERACCESS OPTION]

order by
应位于
where
子句之后,并通过'Salary'从订单中删除'。嗯,SQL.oh,抱歉,where中没有
WHILE
子句。嗯。