2015-03-30 57 views
0

我想弄清楚这个查询。我创建了一个表查询并将两个表中的数据组合起来,但是我认为做一个Crosstab查询可能会更好。表是出勤和进餐。我需要考勤表中的“用户名”和“考勤状态”字段以及来自“考勤表”的“分配给”和“操作日期”。我试图能够跟踪出勤选项卡上的哪些工作人员可用,以及只有当“actiondate”字段是今天的日期和“assignedto”具有名称并且应该分配给他们的情况下,分配给他们的案件的数量才能从“assignedto”填充仅当名称与考勤表中的“用户名”相匹配时才填充。我希望这是有道理的。访问查询字段填充,如果只匹配另一个字段

谢谢。

回答

0

保存为001:

SELECT 
att.username, 
att.[attendance status], 
intake.assignedto, 
intake.actiondate 
FROM Attendance att 
INNER JOIN intake on att.username = intake.assignedto 
WHERE intake.actiondate = NOW(); 

现在创建一个使用001,因为它的数据源生成表查询。

001的说明:INNER JOIN有助于符合您提及的“[...]和”assignedto“的标准,并且只有当名称与”考勤表“中的”用户名“相匹配时才应该填充。这将仅返回此值匹配的每个表中的记录。 还有WHERE intake.actiondate = NOW()有助于进一步限制结果仅限于那些actiondate是今天的记录。

+0

谢谢你的编码,但没有填充任何内容,应该有一些被拉的记录。 – Lilly 2015-03-31 00:26:06

+0

@Lilly - 尝试删除WHERE语句。如果查询仍然没有记录,请尝试发布一些示例数据。此外,如果您将我的查询文本粘贴到Access中,请确保我使用的字段和表名实际上与数据库中的内容匹配。 – bf2020 2015-03-31 01:00:58

+0

我删除了整个语句,但仍没有数据填充。在运行查询之前,我将表和字段名称更改为专有名称。 – Lilly 2015-03-31 17:15:00

相关问题