gpt4 book ai didi

Mysql select - 全部来自左侧且仅匹配右侧表

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:18 25 4
gpt4 key购买 nike

我有两个表:

  1. 员工

    [id, first_name, last_name, status]

  2. 缺席

    [id, employee_id, reason_type, date_from, date_to

我可以这样做:

SELECT e.first_name, e.last_name, e.status, a.reason_type FROM employees e JOIN absence a ON e.id=a.employee_id
WHERE curdate() between date_from and date_to

但它只会给我在 absence 表中找到的员工。

有没有办法获取所有员工及其状态的列表(对于那些在 absence 表匹配条件 currdate() between date_from and date_to return 'Yes ' 和 reason_type),其他人则对 reason_type 说 No 和 null。

谢谢。

最佳答案

你正在寻找一个left join,但是你必须小心where子句:

SELECT e.first_name, e.last_name, e.status, a.reason_type
FROM employees e LEFT JOIN
absence a
ON e.id = a.employee_id AND
curdate() between a.date_from and a.date_to ;

关于Mysql select - 全部来自左侧且仅匹配右侧表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39249428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com