我需要显示来自父表的 sql 中子记录少于 4 或没有子记录的记录,请需要 SQL 查询。
更多说明:
- 根本没有父母的孩子记录也很好,所有父母记录都应该显示
- 如果父记录有 1 到 3 之间的子记录,应该显示
- 如果父记录正好有 4 个子记录,则不应显示。
架构(一名员工的捐款不能超过 4 次)
客户(client_id,电子邮件)
员工(employee_id,姓名)
捐赠(donation_id、employee_id、client_id)
SQL 我试过了。
SELECT * FROM employee left join
(SELECT donation_id, employee_id, client_id, count(employee_id) as count from donation GROUP BY employee_id HAVING count <= 4) as d
ON employee.employee_id = d.employee_id