2017-06-11 17 views
0

我是Access的新手,我有一张病人表,我有三个不同的可由护士完成的任务领域(他们的名字在这些领域) 。这并不总是同一名护士执行任务,但有时是这样。我希望获得护士见过的病人总数,而不将每次互动作为单独的联系实例。每次记录一个姓名的记录作为一个实例

计算名称出现在一列中的总次数很容易。但是,无论护士姓名出现多少次,如果在这三个字段中的任何一处提及护士姓名,我都希望每次记录一次。

有没有办法做到这一点?我一直在寻找无处寻找这个问题的答案。数据如何显示。每位护士都来自连接到另一张桌子的下拉框。

Patient Task1 Task2 Task3 Task4 
Jones  Bill Jack Ruby Bill 
Smith  Ruby Ivan Raul Ted 
Barns  Ted  James Rick Ted 
Jackson Ted  Phil Ruby Bill 

在此先感谢!

+0

您不提供可帮助任何人帮助您的数据结构或样本数据的信息。 –

+0

更新你的问题,并添加一个适当的数据样本和预期的结果,请 – scaisEdge

+0

对不起。我刚刚添加了示例数据。 –

回答

1

您展示4个任务领域,而不是3

一种方法是建立一个UNION查询来重新组织数据更规范化的结构。

这个UNION将防止病人和护士的重复对。可以通过包含任务标识符字段或UNION ALL来强制重复对,但不需要它们。

SELECT Patient, Task1 As Nurse FROM tablename 
UNION SELECT Patient, Task2 FROM tablename 
UNION SELECT Patient, Task3 FROM tablename 
UNION SELECT Patient, Task4 FROM tablename; 

现在在聚合(GROUP BY)查询中使用该UNION查询。