1

従業員の性別に基づく給与差別を見つける方法について質問があります。MS Acess 2007 を使用しており、SQL クエリを使用してそれを把握する必要があります

これは、3 つのテーブルを 1 つのマルチテーブル クエリに結合した後であることに注意してください。このクエリ内で、たとえば を使用して列を並べ替えたいときはいつでも、次のようORDER BY Salaryなエラー サインが表示されます。

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;
4

2 に答える 2

1

Order by 句は 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

構文を選択する

SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, …]]}     
FROM tableexpression [, …] [IN externaldatabase]     
[WHERE… ]    
[GROUP BY… ]     
[HAVING… ]     
[ORDER BY… ]     
[WITH OWNERACCESS OPTION]
于 2014-03-05T06:41:19.923 に答える
0

Access '07 が標準 SQL を完全に無視しない限り (そして私はそうは思わない)、あなたの SQL 構文は無効です。

ORDER BY を句の前に置く代わりに、 . のWHEREに置く必要があります。WHERE

于 2014-03-05T06:36:49.757 に答える