我在这样的表中有数据(结果/输出):
Project code project name associates time efforts in days
1 Analytics amol,manisha,sayali,pooja (21+17+20+17)=57
我需要计算几天的时间。我已经完成了2月份的工作,并且我已经在那个月加入了每个人工作的日子。我的意思是我所有同事的所有日子都减去了缺席。
所以,我需要通过SQL查询来做到这一点。
我有一张表,其中包含所有带日期的员工。
像这样:
UID username date
那么任何人都可以给我一个如何做到这一点的建议吗?
答案 0 :(得分:0)
如果有一个单独的表来存储projectid,团队成员ID以及他/她在几天内的努力将是一个更好的设计。这样你就可以编写一个简单的连接查询来实现你想要的。
答案 1 :(得分:0)
这是我要做的。更改表格,以便:
项目
project_code project_name
1 Analytics
用户
UID username date
1 amol
2 manisha
3 sayali
projects_users
project_code uid effort
1 1 21
1 2 17
1 3 20
现在您可以像这样查询您要求的结果:
SELECT
p.project_code,
p.project_name,
GROUP_CONCAT(DISTINCT u.username SEPARATOR ', ') AS associates,
SUM(pu.effort) effort
JOIN users AS u
JOIN projects_users AS pu
FROM projects p
GROUP BY project_code