0

我是一名初学者编程学生,我的教科书中没有任何内容可以帮助我解决这个问题!我需要显示这些字段名称 ProjectID、ProjectName、DepartmentPhone、EmployeeNumber、LastName、FirstName、EmployeePhone 以及字段名称 Department。最后一个字段名称包含在两个单独的表中,因此我使用 WHERE 子句使其显示。但是,我必须专门展示从事“营销”部门分配的项目的员工。我无法让它工作......如果我删除我当前的 WHERE 子句,那么 Department 将无法工作或显示......但我认为我需要另一个 Where 子句使其仅显示营销部门的项目。

这是我当前的代码:

SELECT ProjectID, ProjectName, DepartmentPhone, EmployeeNumber, LastName, FirstName, EmployeePhone
FROM PROJECT, DEPARTMENT, EMPLOYEE
WHERE PROJECT.Department = EMPLOYEE.Department
AND           ProjectID IN  
               (SELECT PROJECT ID
                FROM PROJECT
                WHERE Department = 'Marketing')
ORDER BY ProjectID

我在 Access 中将它作为 SQL 查询运行,并且弹出的错误说

Syntax error in query expression 'PROJECT.Department = EMPLOYEE.Department AND SELECT ProjectID, ProjectName, DepartmentPhone, EmployeeNumber, LastName, FirstName, EmployeePhone
FROM PROJECT, DEPARTMENT, EMPLOYEE
WHERE PROJECT.Department = EMPLOYEE.Department
AND           ProjectID IN  
               (SELECT PROJECT ID
                FROM PROJECT
                WHERE Department = 'Marketing')
ORDER BY ProjectID "

如果没有“AND”,那么它工作得很好,但会显示所有项目,而不仅仅是营销部门运行的项目。请帮忙!

4

1 回答 1

2

当您使用INwith select时IN (SELECT,您必须使用精确的一列,但我可以看到 2。显然您的意思是IN (SELECT ID FROM PROJECT...

PS,是的, - 你错过了一些加入......

于 2013-10-14T16:39:29.227 回答