SQL:表引用

时间:2015-03-29 05:55:11

标签: sql ms-access

美好的一天。我很难搞清楚如何做到这一点:

SELECT P.GrossSalary, S.Contribution FROM Payroll AS P, SSSChart AS S WHERE
P.GrossSalary >= S.RangeStart AND P.GrossSalary <= S.RangeEnd;

我需要来自SSSChart表的相应供款金额,其中总薪资在起点和终点范围之间。

问题是它会对Payroll表中第一个找到的匹配记录起作用,但是SSSChart表中的搜索不会再次从顶部开始查找下一个Payroll记录,而是会在找到的记录之后继续搜索以前的工资单记录。我尝试了几个SQL命令,但没有找到运气。所有的帮助将不胜感激。 (为我的工资单系统练习这样做)

1 个答案:

答案 0 :(得分:0)

是否要查询整个Payroll表,并从contribution表中找到每个结果的相应SSSChart值?考虑按照以下方式尝试:

SELECT 
    P.GrossSalary, S.Contribution
FROM
    Payroll as P
LEFT JOIN
    SSSChart as S ON P.GrossSalary >= S.RangeStart AND P.GrossSalary <= S.RangeEnd
WHERE 
    1;

这假设每个GrossSalary只属于一个SSSChart范围。