我在这个access SQL查询中缺少什么?
我试图使用内部连接函数从多个表中提取特定信息,我认为我的语法有问题-考虑太多或太少()。社区是怎么想的我在这个access SQL查询中缺少什么?,sql,ms-access,Sql,Ms Access,我试图使用内部连接函数从多个表中提取特定信息,我认为我的语法有问题-考虑太多或太少()。社区是怎么想的 SELECT Employee.EmployeeID ,Service.HoursWorked FROM ( Equipment INNER JOIN (Equipment Repair) ON Equipment.EquipmentID = Equipment Repair.RepairID ) INNER JOIN ( ( (
SELECT Employee.EmployeeID
,Service.HoursWorked
FROM (
Equipment INNER JOIN (Equipment Repair)
ON Equipment.EquipmentID = Equipment Repair.RepairID
)
INNER JOIN (
(
(
Service INNER JOIN EMPLOYEE
ON Service.ProductID = EMPLOYEE.EmployeeID
) INNER JOIN (
OWNER INNER JOIN Property
ON OWNER.OwnerID = Property.OwnerID
)
INNER JOIN SubProperty
ON Property.PropertyID = SubProperty.PropertyID
)
ON Service.PropertyID = Subproperty.PropertyID
)
INNER JOIN TrainingCourse
ON EMPLOYEE.EmployeeID = TrainingCourse.EmployeeID
ON Equipment.EquipmentID = TrainingCourse.EquipmentID ORDER BY Employee.EmployeeID
您的查询正在尝试将多个表连接在一起,但您可能也在尝试使用括号?这些没有你在这里所期望的效果 如果没有(显然是?)假括号,我会理解该查询的含义如下:
选择
Employee.EmployeeID
,Service.hoursweed
来自设备
内部连接(设备维修)
在设备上.EquipmentID=设备维修.RepairID
内部连接服务
内部联接员工
ON Service.ProductID=EMPLOYEE.EmployeeID
内部联接所有者
内连接属性
在OWNER.OwnerID=Property.OwnerID上
内连接子属性
关于Property.PropertyID=子属性.PropertyID
ON Service.PropertyID=子属性.PropertyID
内部连接培训课程
在EMPLOYEE.EmployeeID=TrainingCourse.EmployeeID上
关于设备.EquipmentID=培训课程.EquipmentID
按Employee.EmployeeID排序
但这仍然存在错误,因为许多联接缺少联接条件,有些联接具有多个联接条件
相反,你们需要考虑你们想要表达的东西。结果集中应显示哪些表中的哪些列(这将告诉您要连接哪些表),以及在什么条件下,表Foo中的一行应显示在总结果集中(这将告诉您该表的连接条件)。请在询问之前先正确设置代码的格式。也许在那之后,你可以不需要任何帮助就可以看到你的问题。你使用的是哪种风格的SQL,比如MySQL、SQL Server等等,标记适当的tech
内部连接
不是一个函数,你的SQL是一堆乱七八糟的东西(不包括格式)。首先计算(
字符数,然后计算)
字符数。如果它们不相等,那么您已经确定了问题的一部分。@Sankar:标题上写着“访问”,还有一个访问标签。我猜这项技术是MS Access.:-)您正在使用Access查询设计器吗?这应该得到正确的语法。Access sql使用括号很麻烦