【发布时间】:2023-03-16 01:05:01
【问题描述】:
您好,我有 2 张员工表和通过员工 ID 关联的病假,基本上我想创建一个结果集,其中有一列按月和年过滤,另一列仅按年过滤
EMPLOYEES MEDICAL
|employee|ID| |ID|DateOfLeave|
A 1 1 2019/1/3
B 2 1 2019/4/15
C 3 2 2019/5/16
D 4
select employees.employee,Employees.ID,count(medical.dateofleave) as
NumberofLeaves
from employees
left outer join Medical on employees.emp = MedBillInfo.emp
and month(medbillinfo.date) in(1) and year(medbillinfo.date) in (2019)
group by Employees.employee,employees.ID
RESULT SET
|Employee|ID|NumberOfLeaves|YearlyLeaves|--i want to join this column
A 1 1 2
B 2 0 1
C 3 0 0
D 4 0 0
但我不知道如何在当前的 sql 语句中编写以将年假列加入我当前的结果集,该结果集只有员工、id 和 numberofleaves
【问题讨论】:
-
您通常 GROUP BY 与您选择的列相同,但那些作为设置函数的参数的列除外。试试
group by employees.employee, Employees.ID。 -
顺便说一句,您订购了一个未知的列!?!
-
@jarlh 糟糕,该语句最初是针对我的其他数据库的,我只是对其进行了编辑以适应上面的示例数据库,忘记编辑底部行
标签: sql sql-server