请帮我解决一个月的员工问题

时间:2011-05-03 13:52:36

标签: ms-access

如果我有3个如下表,我可以使用设计视图向我展示每个分支的比索销售额更高的员工吗?

 Branches
 - Branch
 - Id branch

 Employees
 - EmployeeID
 - Employee Name
 - Assigned_branch

 Sales
 - Ticket Id
 - Employee Id
 - Public price

如何只在一个查询中获得每个分支中所有销售额中公共价格最高金额的员工姓名。我不能在这里使用SQL,我真的不能快速使用访问。请帮帮我!

2 个答案:

答案 0 :(得分:0)

我认为你的[Assigned_branch]字段是表[分支]中[id分支]的外键。

在设计编辑器中,将三个表放入。在表[Employees]中创建的字段[Assigned_branch]和表[Branches]中的[id branch]字段之间创建关系。在表[Sales]字段[Employee ID]和表[Employees]字段[Employee ID]之间创建另一个关系。

在下面的网格上,从表[Employees]中删除字段[Employee ID]和[Employee Name]。从表[分支]中,删除所有字段。从表[销售]中仅删除[公共价格]字段。

将查询模式设为“Totals”,单击“E”(总和)按钮。按网格上的所有列分组。在表[Sales]的[公共价格]列中,选择“总和”累计选项。将柱子命令“降序”。

现在,您拥有更好的企业销售额。如果你只想检索更大的saler,你应该快速创建另一个使用这个查询的查询。添加字段,在创建的Sum_of_Sales列上,选择网格中的“Max”选项。相信我,比在一个查询中完成所有操作更容易(获取总数并检索最大值)。

我希望我能帮到你。如果您有任何疑问,请回复我。

答案 1 :(得分:0)

打开一个新查询,选择输入/查看查询的SQL代码的选项,然后粘贴以下内容并研究创建的图表:

SELECT TOP 1 employeeid, [employee name], branch, sum(price) as total_emp_sales
FROM
    employees AS e
    INNER JOIN branches AS b ON e.assigned_branch = b.[id branch]
    INNER JOIN sales AS s on e.employeeid = s.[employee id]
GROUP BY [employeeid], [employee name], branch
ORDER BY total_emp_sales DESC

此外,为了将来参考,我们任何人尝试描述如何使用设计器来构建您想要的确切查询是不切实际的。我的建议是获得一本关于SQL的介绍书,至少可以获得该语言的工作知识。然后,您将更好地了解如何使用设计器。