美好的一天。我很难搞清楚如何做到这一点:
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命令,但没有找到运气。所有的帮助将不胜感激。 (为我的工资单系统练习这样做)
答案 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范围。