$consulta3 = "SELECT * FROM Dept INNER JOIN Userinfo INNER JOIN Checkinout on Dept.DeptName = '$departamento' where Dept.Deptid = Userinfo.Deptid AND Userinfo.Name = Checkinout.name";
我想用此查询执行的操作是:我有一个名为Dept的表,其中包含所有部门名称和ID,具有用户名,部门ID和ID的用户信息。我也有一个名为checkinout的第三个表,该表具有用户ID,并带有时间。
因此,我想(使用部门名称)将Checkinout表中的所有数据从属于该部门的人员那里获取,但是当我尝试该查询时,它给了我一个错误:
syntax error in from clause. sql state 37000 in sqlexecdirect
我无法解决。我正在使用Acces数据库。
非常感谢您的帮助。
访问绝对需要FROM任何查询子句中的括号,而该查询的子句中要包含多个连接。如果您具有Access可用,请在查询设计器中创建并测试新查询。设计器有用的原因之一是,它知道使数据库引擎满意的括号规则。
FROM
从与此类似的查询开始。此时,不必担心基于的过滤Dept.DeptName。只要确保联接设置正确即可。
Dept.DeptName
SELECT * FROM (Dept INNER JOIN Userinfo ON Dept.Deptid = Userinfo.Deptid) INNER JOIN Checkinout ON Userinfo.Name = Checkinout.name
正确设置联接后,添加过滤器约束(WHERE Dept.DeptName ...)。
WHERE Dept.DeptName ...