简单的INNER JOIN查询返回没有值 - 我哪里错了?

Beg*_*Pal 1 sql t-sql sql-server sql-server-2005

下面的查询根据当前活动的招聘信息记录和工资记录获取wageTypeID.

  SELECT wt.wageTypeID
    FROM TimeSheet t 
  INNER JOIN Employee e ON e.employeeID = t.employeeID
  INNER JOIN Salary s ON s.salaryID = t.salaryID
  INNER JOIN Wage w ON w.wageID = s.wageID
  INNER JOIN EmpHiringInfo ehf ON ehf.EmpHiringInfoID = s.EmpHiringInfoID
  INNER JOIN WageType wt ON wt.wageTypeID = w.wageTypeID
  WHERE ehf.employeeID = 300  
    AND ehf.isActive = 1 
    AND s.isActive = 1
Run Code Online (Sandbox Code Playgroud)

上面的查询应该返回值15!我想知道我哪里出错了?


这是连接表的模式:

TimeSheet:
timeSheetID
employeeID - 300
salaryID
.
.

Salary:
salaryID
EmpHiringInfoID
wageID
isActive - true
.
.

WageType:
wageTypeID - 15
wageTypeTitle - Hourly

Wage:
wageID
wageTypeID - 15
wageAmount - $11


EmpHiringInfo:
EmpHiringInfoID
employeeID
isActive - true
.
.
Run Code Online (Sandbox Code Playgroud)

工资中的isActive仅对一条记录为True.同样适用于EmpHiringInfo.

Sim*_*eep 5

尝试评论一个联接,看看你是否得到任何结果,如果没有注释掉另一个等等,直到你开始看到结果.你注释掉的最后一个可能会给你一个关于它失败的原因的线索.