Sql 通过将表1中字段中的数据与Access中表2中字段中的数据和字段本身进行匹配来输出字段
要点: 如何通过将表1字段A与表2字段A、表1字段B与表2中相应字段(B、C、D、E等)相匹配,为表1中的每一行输出存储在表2字段X中的数据 这可能是令人恶心的简单,所以如果你觉得我的背景太差了,请随意跳过其中一些 用例: 我继承了一个Access数据库,该数据库跟踪我的公司雇佣来进行销售的承包商员工的个人销售行程。我的公司已经为每个承包商的所有员工就我公司的特定销售账户协商了一个小时费率 我有两个访问表: 1。SalesTrips包含承包商员工执行的所有销售差旅实例 格式(仅限相关字段): 2。合同包含我公司将支付给承包商员工的每个销售账户的小时费率 格式(仅相关字段-费率为美元/小时): 业务问题: 我的前任手动(在Excel中)计算了每次销售差旅的必要费用,但没有考虑到一些员工由于病假(但仍有工资)没有完成所有合同工时的证据。因此,我构建了一个查询,从第三个病假信息表(病假)中提取病假信息,并为每个TripID输出一个“工作小时”数量。让我们在查询中将该字段称为“HoursWorked”为“TrueHours” 对于每个TripID,我需要将SalesTrips表中的Sales Account和Contractor与Contracts表中的Sales Account和Contractor rate(选择正确的字段)相匹配。然后,很明显,我需要将“HoursWorked”数量(查询输出,并根据病假表中的条目频繁更新)乘以正确的付款率(协商、静态和存储在Contracts表中) 示例输出: 我想知道我们需要支付EarthCO的莫里斯200美元和FireCO的雪莉1196美元(他们没有病假) 我考虑过:Sql 通过将表1中字段中的数据与Access中表2中字段中的数据和字段本身进行匹配来输出字段,sql,database,ms-access,vba,Sql,Database,Ms Access,Vba,要点: 如何通过将表1字段A与表2字段A、表1字段B与表2中相应字段(B、C、D、E等)相匹配,为表1中的每一行输出存储在表2字段X中的数据 这可能是令人恶心的简单,所以如果你觉得我的背景太差了,请随意跳过其中一些 用例: 我继承了一个Access数据库,该数据库跟踪我的公司雇佣来进行销售的承包商员工的个人销售行程。我的公司已经为每个承包商的所有员工就我公司的特定销售账户协商了一个小时费率 我有两个访问表: 1。SalesTrips包含承包商员工执行的所有销售差旅实例 格式(仅限相关字段): 2
作为一个长期的SO搜索者和第一次发布海报的人,我希望你们能在这方面提供帮助 我会重新考虑你的数据库设计
表1
正常
表2
在字段名中定义包含“数据”的字段不是一个好主意:这就像在程序的源代码中硬编码客户机名称一样
尝试采用更为相关的方法,定义3个字段:
Sales Account
Contractor
Rate
Sales Account Contractor Rate
800 EarthCO 20
800 WindCO 18
800 FireCO 23
900 EarthCO 24
900 WindCO 22
900 FireCO 26
因此,您可以使用如下查询构建连接表1和表2的查询:
SELECT Table1.Employee, Table2.Rate, Table1.[Hours Contracted],
[Rate]* [Hours Contracted] AS Total
FROM Table1 INNER JOIN Table2
ON (Table1.Contractor = Table2.Contractor) AND (Table1.[Sales Account] = Table2.[Sales Account]);
结果将是(连同您的数据):
希望这有帮助
Sales Account
Contractor
Rate
Sales Account Contractor Rate
800 EarthCO 20
800 WindCO 18
800 FireCO 23
900 EarthCO 24
900 WindCO 22
900 FireCO 26
SELECT Table1.Employee, Table2.Rate, Table1.[Hours Contracted],
[Rate]* [Hours Contracted] AS Total
FROM Table1 INNER JOIN Table2
ON (Table1.Contractor = Table2.Contractor) AND (Table1.[Sales Account] = Table2.[Sales Account]);
Employee Rate Hours Contracted Total
Maurice 20 10 200
Wade 18 36 648
Don 26 17 442
Sherry 23 52 1196