我试图找出如何解决问题的sql语句(然后我需要将其转换为EF Core Lambda,然后我不确定该怎么做)。
问题
必须在最近的x天内找到所有通过某些“ TrackingEvents”过滤的非活跃公司
表格
Companies
- Id
- Name
Branches
- Id
- Name
- CompanyId
Employees
- Id
- Name
- BranchId
Tracking
- Id
- EmployeeId (nullable...there is tracking for non members)
- Name
- TrackingEventId
TrackingEvents
- Id
-Name
尝试
SELECT Companies.Name
FROM Branches INNER JOIN
Companies ON Branches.CompanyId = Companies.Id INNER JOIN
Employees ON Branches.Id = Employees.BranchId Left JOIN
Trackings ON Employees.Id = Trackings.EmployeeId
where Trackings.Id IS NULL
group by Companies.Name
我没有尝试按日期或跟踪事件进行过滤。
我认为我做的不对,因为如果公司中有1名员工没有进行搜索,那么公司将被退回。
我需要做的是以某种方式将所有员工,所有分支机构归为一组。因此,如果1名员工符合条件,则“公司”将被跳过。