我已经看到了一些接近的答案,我一直在尝试使它们适应 Access 2013,但我似乎无法让它发挥作用。我有两个疑问:
第一个查询返回
original_staff_data
Month
Year
staff_uid
staff_abbrev
employee_name
staff_salary
它从表staff、salary_by_month、employee_name和number_of_days_at_spec_building中提取(这记录了他们工作时签到的地方)
transaction_data_by_staff.total
Month
Year
staff_uid
total_revenue
totat_profit
这也从员工那里提取信息,但在事务表中对多个日期进行汇总,为每个 Staff_uid 创建累积值,因此我无法直接组合这两个查询。
我的问题是我想创建一个同时带来结果的查询。但是,并非第一季度的所有工作人员每天/每周/每月(假期等)都会在第二季度,因为我想最终创建一个最终结果:
Final_Result
Month
Year
staff_uid
staff_abbrev
employee_name
staff_salary
total_revenue
total_profit
SQL:
SELECT
original_staff_data.*
, transaction_data_by_staff.total_rev
, transaction_data_by_staff.total_profit
FROM transaction_data_by_staff
RIGHT JOIN original_staff_data
ON (
transaction_data_by_staff.year = original_staff_data.year
AND transaction_data_by_staff.month = original_staff_data.month
) WHERE transaction_data_by_staff.[staff_uid] = [original_staff_data].[staff_uid];
如果该员工当月没有收入或利润,我希望它使这些值为 0。我已尝试加入(特别是 RIGHT 加入,Q1 作为 RIGHT 加入),但它似乎不起作用,我仍然只有得到子集。original_staff_data 查询中最初有 750 个条目,因此最终查询中应该有 750 个条目,我只得到 252,这是 transaction_data_by_staff 中的总数。关于 ACCESS 2013 SQL 的外观有什么线索吗?
谢谢乔恩