我正在尝试制作一家公司的薪资报告,我想通过使用如下查询来显示该公司的所有员工:
select tab1.name, tab1.job,tab1.salary, tab2.discount-days,
(tab1.salary-((tab1.salary/30)*tab2.discount-days) as 'total'
from tab1,
tab2
where tab2 .date_discount between date_begin and date_end;
此处仅显示在此期间享受折扣的员工,但我想显示公司的所有员工,如果有人享受折扣,也会显示总数。
请需要帮助来执行查询,该查询确实显示所有员工,而不仅仅是有折扣的员工
您需要使用左连接。
select tab1.name, tab1.job,tab1.salary, tab2.discount-days,
(tab1.salary-((tab1.salary/30)*tab2.discount-days) as 'total'
from tab1,
tab2 left join tab2 as tab3 on tab2.primary_key = tab3.id.primary_key
and tab3 .date_discount between date_begin and date_end;
如果使用左连接,左侧表中存在的所有记录都会出现,右侧表中的匹配记录也会出现。
我想这可能对你有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)