首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何限制每个用户id的一行

如何限制每个用户id的一行
EN

Stack Overflow用户
提问于 2017-04-03 17:55:29
回答 1查看 247关注 0票数 0

我有一个名为employeetimesheets的表:

代码语言:javascript
复制
empsheet_id|employee_id|timesheet_status|last_update

该表允许经理访问所有员工时间表。一个员工可以有几份工作时间表。我只想显示每个雇员最近的条目。我读过在手册中,我必须用inner join编写一个groupwise-maximum子查询和left join,但是我不知道怎么做。

到目前为止,这是我的查询:

代码语言:javascript
复制
$sqlempsheets="SELECT * FROM employeetimesheets JOIN employees ON employeetimesheets.employee_id=employees.employee_id WHERE employeetimesheets.timesheet_status='Pending Approval'";
$resultempsheets=mysqli_query($db,$sqlempsheets);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-03 18:07:08

试试这个:

代码语言:javascript
复制
select *
from employeetimesheets t
join (
    select employee_id,
        max(empsheet_id) as empsheet_id
    from employeetimesheets
    group by employee_id
    ) t2 on t.employee_id = t2.employee_id
    and t.empsheet_id = t2.empsheet_id
join employees e on t.employee_id = e.employee_id
where t.timesheet_status = 'Pending Approval';

或者使用left join

代码语言:javascript
复制
select t.*, e.*
from employeetimesheets t
left join employeetimesheets t2 on t.employee_id = t2.employee_id
    and t.empsheet_id < t2.empsheet_id
join employees e on t.employee_id = e.employee_id
where t.timesheet_status = 'Pending Approval'
    and t2.employee_id is null;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43191268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档