【发布时间】:2021-08-08 05:12:10
【问题描述】:
目标(假设此架构必须保持不变):
每家公司创建的第一个销售人员最近的外展活动是什么?
- 对于 company 表中的每条记录,使用匹配的 company_salesperson.customer_id 值和 MAX(company_salesperson.created_at) 值获取 company_salesperson 表中的相应记录。
- {对于带有 id == 1 的公司记录:这应该返回带有 id == 2 的 company_salesperson 记录}
- 对于每条返回的 company_salesperson 记录,获取具有匹配 company_salesperson_company_outreach.company_salesperson_id 值的所有 company_salesperson_company_outreach 记录
- 对于带有 id == 2 的 company_salesperson 记录,这应该返回两个带有 id 2 和 3 的 company_salesperson_company_outreach 记录
- 对于每组返回的company_salesperson_company_outreach记录,获取MAX(company_outreach.outreach_id)对应的company_outreach记录
- 对于 ID 为 2 和 3 的 company_salesperson_company_outreach 记录,我们应该得到相应的 ID 为 2 和 3 的 company_outreach 记录。根据它们的 company_outreach.outreach_id 值,这应该看到带有 id == 3 的 company_outreach 记录具有更大company_outreach.outreach_id 值。因此,这应该返回带有 id == 3 的 company_salesperson_company_outreach 记录。
期望的输出:
SELECT company.id, company_salesperson.id, company_salesperson_company_outreach.id, company_outreach.id
FROM ...???
| company.id | company_salesperson.id | company_salesperson_company_outreach.id | company_outreach.id |
|---|---|---|---|
| 1 | 2 | 3 | 3 |
我觉得有一个非常优雅的解决方案,但是在我的大脑从耳朵里融化了三天之后,我被建议伸手到这里!感谢您的宝贵时间。
【问题讨论】: