mysql - SQL查询利用两个表返回mysql中每个用户的最新条目

标签 mysql sql

这不是重复的..我正在使用两个表。链接到的“Answer”用户仅使用一张表。我需要使用相关表返回最新条目。我还没有找到执行此操作的解决方案。

我正在制作一个打卡钟。我的数据库中有两个表,分别称为员工和打洞机。打洞表有一个名为“emp_id”的字段,该字段与员工表中的“id”字段相关。我正在尝试找出一个 SQL 查询,该查询将返回每个员工的最新条目(他们当前的状态,他们当前是否打卡上​​类、下类、休息等)

我找到的答案(并在评论中引用)并不是从两个表中提取信息,而是从一个表中提取信息。

到目前为止,我有以下内容,但这仅返回每个员工的第一拳。我正在尝试回击最新的一拳。

    SELECT CONCAT(employees.first, ' ', 'employees.last) AS name, punches.id, punches.date, TIME_FORMAT(punches.tistamp, '%H:%i') AS time
FROM employees, punches
WHERE punches.emp_id=employees.id
GROUP BY emp_id
ORDER BY emp_id DESC

punches 表有一个自动递增的“id”字段,因此本质上我正在寻找每个员工的最大punches.id。

最佳答案

我发现这段代码可以工作..

SELECT p.emp_id, CONCAT(e.last, ', ', e.first) AS name, p.status, DATE_FORMAT(p.tistamp, '%d/%m/%Y') AS date, TIME_FORMAT(p.tistamp, '%H:%i') AS time FROM punches p, employees e WHERE p.emp_id=e.id AND p.id = (SELECT MAX(p.id) FROM punches p WHERE e.id=p.emp_id) ORDER BY e.last ASC

关于mysql - SQL查询利用两个表返回mysql中每个用户的最新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38248631/

相关文章:

mysql - 外键限制可以带来安全利益和/或风险吗?

mysql:选择所有被通知的人

php - mysqli::real_connect(): (HY000/2002): 实时连接被拒绝

php - CakePHP 中的库存计数

mysql - 如何在单个查询中将多个总和从列旋转到行

php - 在 PHP 中嵌套 SQL 查询

mysql - NoSQL 投票系统

mysql - 将变量添加到 char *

SQL查询,我可以在一个案例中排序吗?

mysql - 更改在mysql中具有外键约束的表主键