SQL 中的左外部联接,右侧 table 中缺少数据
Left outer join in SQL with data missing in right table
我在 Mysql 数据库中有以下数据库模式
用户
- id
- 名字
出席人数
- id
- user_id
- checked_on(日期)
现在,对于给定的日期范围,我想构建一个报告,其中列出一个用户和另一列,说明他们当天是否在场。
我试图通过以下查询使用 Left Outer Join 来完成它
select * from users left outer join attendance on users.id = attendance.user_id where users.id in (11, 12);
如何修改上述查询以便我可以获取报告?
您可以使用如下查询:
select u.*,
IF(a.id IS NOT NULL, 'Present', 'Not Present') AS IsPresent
from users u
left outer join attendance a
on u.id = a.user_id and a.checked_on = ?
where u.id in (11, 12);
我在 Mysql 数据库中有以下数据库模式
用户
- id
- 名字
出席人数
- id
- user_id
- checked_on(日期)
现在,对于给定的日期范围,我想构建一个报告,其中列出一个用户和另一列,说明他们当天是否在场。
我试图通过以下查询使用 Left Outer Join 来完成它
select * from users left outer join attendance on users.id = attendance.user_id where users.id in (11, 12);
如何修改上述查询以便我可以获取报告?
您可以使用如下查询:
select u.*,
IF(a.id IS NOT NULL, 'Present', 'Not Present') AS IsPresent
from users u
left outer join attendance a
on u.id = a.user_id and a.checked_on = ?
where u.id in (11, 12);