SQL以查看员工每年的休假
我正在使用SQL以查看员工每年的休假,sql,ms-access,Sql,Ms Access,我正在使用ACCESS运行SQL查询 我想显示所有员工(医生)每年的假期 这是我的SQL代码: SELECT doctors.Name, 31-sum(DateDiff("d",leaves.leave_starting_date,leaves.leave_end_date)) as days FROM doctors INNER JOIN leaves ON doctors.ID = leaves.doctor_id GROUP BY doctors.Name, YEAR(leaves.l
ACCESS
运行SQL
查询
我想显示所有员工(医生)每年的假期
这是我的SQL
代码:
SELECT doctors.Name,
31-sum(DateDiff("d",leaves.leave_starting_date,leaves.leave_end_date)) as days
FROM doctors INNER JOIN leaves ON doctors.ID = leaves.doctor_id
GROUP BY doctors.Name, YEAR(leaves.leave_starting_date)
我有两个问题:
我不明白你在这里的意思“我不能把每年的叶子区分为新的列。”。至于你的第一个问题:用左外连接代替内连接。@jnevil我可以看到每个员工每年都有一行新词。相反,我需要显示每列的年份。啊!好的,在这种情况下,保持当前查询不变(更改为左外部联接以解决问题1)。您要做的是在它上面创建一个交叉表查询,以便在列中输入年份。@jnevil谢谢。如果天数为空,是否有办法显示数字“31”?您可以执行
31-nz(sum(DateDiff(“d”,leaves.leave\u start\u date,leaves.leave\u end\u date)),0)
,以便它减去0而不是空值。