复合左连接sql

时间:2013-09-29 13:22:53

标签: sql

我正在尝试为公司的工资做报告,我想通过使用这样的查询来展示公司的所有员工:

select tab1.name
      ,tab1.job
      ,tab1.salary
      ,tab2.discount-days
      ,(tab1.salary-((tab1.salary/30)*tab2.discount-days) as 'total' 
from tab1 
    left join tab2 
      on tab1.PK = tab2.FK 
     and tab2.date between '01/09/2014' and '30/09/2014';

这里显示了所有员工并且已经享受了折扣但是期间条件不起作用,因为它显示了给予员工的所有折扣

请求帮助以使查询与期间条件良好协调

1 个答案:

答案 0 :(得分:0)

这是因为你在ON语句中提到你的谓词,这在左或右连接中有所不同。 在where子句中提到你的谓词。