查询多次显示每条记录
问题描述:
此查询多次显示每条记录,我的意思是超过25次,为什么?查询多次显示每条记录
SELECT
dbo.HrEmployee.EmplID, dbo.HrEmployee.EmplName, dbo.AtdRecord.RecDate,
dbo.AtdRecord.RecTime, dbo.HrDept.DeptName
FROM
dbo.HrDept
RIGHT OUTER JOIN
dbo.HrEmployee ON dbo.HrDept.DeptID = dbo.HrEmployee.DeptID
LEFT OUTER JOIN
dbo.AtdRecord ON dbo.HrEmployee.EmplID = dbo.AtdRecord.EmplID
我尝试不同的,但没有奏效
我试图张贴分贝结构
答
按照您的理解试试这个
SELECT
dbo.HrEmployee.EmplID, dbo.HrEmployee.EmplName, dbo.AtdRecord.RecDate,
dbo.AtdRecord.RecTime, dbo.HrDept.DeptName
FROM
dbo.AtdRecord
INNER JOIN
dbo.HrEmployee ON dbo.HrEmployee.EmplID = dbo.AtdRecord.EmplID
INNER JOIN
dbo.HrDept ON dbo.HrDept.DeptID = dbo.HrEmployee.DeptID
答
一个加入对行数返回取决于基数的影响您要加入的两个表之间的关系以及与您的加入条件相匹配的记录数。如果您看到行数增加,则表示您已加入1:M或M:M关系。在这里回答你的问题需要知道的是HrDept,HrEmployee和AtdRecord之间的关系。
我猜想HrEmployee:AtdRecord是1:M。
请张贴分贝结构。 – Amit
这对于回答你的问题要么是发布数据库结构,要么提供样本数据和预期数据 –
check db struct plz – James