【发布时间】:2011-01-07 20:27:48
【问题描述】:
我目前正在尝试编写一个查询,该查询将返回所有未在我们的时间表系统中记录给定日期的时间的用户。我们目前有 2 个表格、时间表和用户。我正在尝试进行一个查询,该查询将返回一个用户列表,这些用户在某个日期范围的时间表表中没有条目。时间表中每天只有一条记录,这应该很简单,但我无法弄清楚如何在我的一生中处理这个问题。
任何帮助将不胜感激:)。
+------------------------+------------------+------ +-----+---------+----------------+ |领域 |类型 |空 |钥匙 |默认 |额外 | +------------------------+------------------+------ +-----+---------+----------------+ |时间表ID | int(11) 无符号 |否 |优先级 |空 |自动增量 | | timesheetForUser | int(11) 无符号 |否 | | | | |时间表ForDate |日期 |否 | | | | |签到时间表 |整数(11) |是 | |空 | | |时间表注释 |正文 |是 | |空 | | |时间表已填写 |小整数(1) |否 | | | | | timesheetNoFillReason | int(11) 无符号 |否 | | | | |时间表CreatedOn |日期时间 |否 | | | | |时间表创建者 | int(11) 无符号 |否 | | | | |时间表UpdatedOn |日期时间 |是 | |空 | | |时间表更新者 | int(11) 无符号 |是 | |空 | | +------------------------+------------------+------ +-----+---------+----------------+ +--------------------------------+--------------+ ------+-----+---------+----------------+ |领域 |类型 |空 |钥匙 |默认 |额外 | +--------------------------------+--------------+ ------+-----+---------+----------------+ |用户名 |整数(11) |否 |优先级 |空 |自动增量 | |用户帐户 |整数(11) |是 | |空 | | |用户组织 |整数(11) |是 | |空 | | |用户是员工 |小整数(4) |是 | | 0 | | | userEmployeeSince |日期 |是 | |空 | | |用户名 | varchar(255) |是 | |空 | | |用户名 | varchar(255) |是 | |空 | | |用户邮箱 | varchar(255) |是 | |空 | | |用户登录 | varchar(50) |是 | |空 | | |用户密码 | varchar(255) |是 | |空 | | |用户发送邀请 |小整数(4) |是 | |空 | | |用户地址1 | varchar(255) |是 | |空 | | |用户地址2 | varchar(255) |是 | |空 | | |用户城市 | varchar(255) |是 | |空 | | |用户国家 |字符(2) |是 | |空 | | |用户状态 | varchar(6) |是 | |空 | | | userState其他 | varchar(255) |是 | |空 | | |用户邮编 | varchar(20) |是 | |空 | | |用户电话 | varchar(50) |是 | |空 | | | user_easypaycode | varchar(6) |是 | |空 | | |用户传真 | varchar(50) |是 | |空 | | |用户单元 | varchar(50) |是 | |空 | | |用户时区 |整数(11) |是 | |空 | | |用户注释 |正文 |是 | |空 | | |用户活动 |小整数(4) |否 | | 0 | | |用户显示图片类型 |小整数(4) |是 | |空 | | |用户显示图片 | varchar(255) |是 | |空 | | |用户缩略图图片 | varchar(255) |是 | |空 | | | userCanWriteMessages |小整数(4) |否 | | 0 | | | userCanWrite评论 |小整数(4) |否 | | 0 | | |用户可上传文件 |小整数(4) |否 | | 0 | | |用户可创建事件 |小整数(4) |否 | | 0 | | | userCanCreateTickets |小整数(4) |否 | | 0 | | | userCanManageProjects |小整数(4) |否 | | 0 | | | userCanManageUsers |小整数(4) |否 | | 0 | | | userCanManageOrganizations |小整数(4) |否 | | 0 | | | userCanManageUserGroups |小整数(4) |否 | | 0 | | | userCanManageMessageCategories |小整数(4) |否 | | 0 | | | userCanManageSetupOptions |小整数(4) |否 | | 0 | | | userCanManageAllUsersItems |小整数(4) |否 | | 0 | | | userCanEnter时间表 |小整数(4) |否 | | | | | userCanManageTimesheets |小整数(4) |否 | | | | | userCanUseTimeclock |小整数(4) |是 | |空 | | | userCanOnlyUseTimeclock |小整数(4) |是 | |空 | | |用户最后登录 |日期时间 |否 | | | | |用户密码重置文本 | varchar(255) |是 | |空 | | |用户已删除 |小整数(4) |否 | | 0 | | |用户删除者 |整数(11) |是 | |空 | | |用户已删除 |日期时间 |是 | |空 | | | userMinHoursPerDay |十进制(10,1) |是 | |空 | | +--------------------------------+--------------+ ------+-----+---------+----------------+此外,如果一天没有记录时间,则不会在时间表中创建记录。
【问题讨论】:
-
如果您想要一个无需修改即可工作的答案,您可能需要提供有关您的表结构的更多详细信息。
-
我应该提到这一点,如果用户在这一天没有任何时间登录,时间表表中将没有记录。
-
@Johnathan:我想我们都猜到了。 :) (相关)列名将是您提出问题的有用信息。你认识他们吗?
-
@Johnathan:感谢您发布时间表的表定义。你可以对 users 表做同样的事情吗?
-
@mark:感谢您的帮助,此查询的理想结果是,对于 timesheetfordate 字段中提到的每一天,我将能够检索在当天的时间表。如果这有任何意义。