请教SQL

kook 2012-11-02 02:42:55
数据库: mysql

日期 员工 出勤时间 明细表ID
10/1 001 8.5 1
10/1 001 8.5 2
10/1 001 8.5 3
10/2 002 9 4
10/2 002 9 5

希望select出的结果是下面的样子
(将同一员工同一日期的重复出勤时间设为0,记录数不能少)

日期 员工 出勤时间 明细表ID
10/1 001 8.5 1
10/1 001 0 2
10/1 001 0 3
10/2 002 9 4
10/2 002 0 5
...全文
98 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kook 2012-11-02
  • 打赏
  • 举报
回复
谢谢!结果正是我想要的
WWWWA 2012-11-02
  • 打赏
  • 举报
回复
4楼代码已经可以了
kook 2012-11-02
  • 打赏
  • 举报
回复
不重复,自增长的
WWWWA 2012-11-02
  • 打赏
  • 举报
回复
SELECT a.`日期`,a.`员工`,IF(b.`出勤时间` IS NULL,a.`出勤时间`,0),a.`明细表ID`
FROM tt2 a LEFT JOIN tt2 b ON a.`员工`=b.`员工` AND a.`日期`=b.`日期` AND a.`明细表ID`>b.`明细表ID`
mysdzlt2007 2012-11-02
  • 打赏
  • 举报
回复
明细表ID重复吗?
kook 2012-11-02
  • 打赏
  • 举报
回复
谢谢1楼,可以用select语句吗?
WWWWA 2012-11-02
  • 打赏
  • 举报
回复
UPDATE TT2 A INNER JOIN TT2 B ON A.`日期`=B.`日期` AND A.`员工`=B.`员工` AND A.`明细表ID`>B.`明细表ID`
SET A.`出勤时间`=0;

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧