2013-12-12 27 views
0

我有这个数据库,我记录时间拳。它具有下面列出的字段。如何列出员工是否每周记录时间

emplid,end_date,day0,day1,day2,day3,day4,day5,day6 

end_date是该周(每个星期日)的最后一周。所以如果有人在那里记录了5周的时间,他们应该有5行,每个都有不同的结束日期。我正在尝试做的是创建一个忘记录制时间的人列表,直到今天的任何一个星期。我想要一行显示迄今所有星期的列表。例如

emplid,Week1,Week2,Week3,Week4,Week5. 
12345 ,1 ,1 ,1 ,0 ,1 

这就是我所拥有的。

SELECT COUNT(end_date) AS Week1, 
     COUNT(end_date) AS Week2 
FROM `aca_time_record` 
WHERE `emplid` = 025580 
HAVING week1 = '2013-10-05' 
     AND week2 = '2013-10-12' 
+2

你应该**不要**以柱状方式储存日子。了解正常化。 – Kermit

+1

我没有创建数据库,我不在乎如何存储这些日子,我不在乎这些日子是否为空。我只关心它上面有每一个星期的日期。任何想法? – bassxzero

+0

你正在使用哪些DBMS? – Kermit

回答

0

您需要为每位员工每周计算未打孔日数,然后将其转换为最终结构。请参阅此答案的详细信息 - MySQL pivot table

相关问题