Sql Access将每一行相互比较
将两个表组合在一起,在一个表中包含计划编号、活动编号、日期/时间工作日期、资源编号和美元费率。我尝试只返回该计划中每个记录的费率高于$15.00的记录。对于每个计划,No(费率由resno编号决定) 所以 我什么也不退。 但是,Sql Access将每一行相互比较,sql,ms-access,Sql,Ms Access,将两个表组合在一起,在一个表中包含计划编号、活动编号、日期/时间工作日期、资源编号和美元费率。我尝试只返回该计划中每个记录的费率高于$15.00的记录。对于每个计划,No(费率由resno编号决定) 所以 我什么也不退。 但是, P102 R102 $15.00 P102 R103 $17.50 P102 R03 $17.50 将返回所有这三行。 这是我的密码。这显然是一个嵌套查询,可能是一个自连接。然而,我似乎无法得到它。感谢您的帮助 SELECT EventPlan.planno
P102 R102 $15.00
P102 R103 $17.50
P102 R03 $17.50
将返回所有这三行。
这是我的密码。这显然是一个嵌套查询,可能是一个自连接。然而,我似乎无法得到它。感谢您的帮助
SELECT EventPlan.planno
,EventPlan.activity
,EventPlan.workdate
,EventPlanLine.resno
,Resource.Rate
FROM EventPlan
INNER JOIN (
Resource INNER JOIN EventPlanLine ON Resource.resno = EventPlanLine.resno
) ON (EventPlan.planno = EventPlanLine.planno)
WHERE (
((Month([EventPlan].[workdate])) = 12)
AND ((Year([EventPlan].[workdate])) = 2013)
);
活动计划
planno eventno workdate activity empno
P100 E100 25-Oct-13 Operation E102
P101 E104 03-Dec-13 Operation E100
P102 E105 05-Dec-13 Operation E102
资源
resno resname rate
R100 attendant $10.00
R101 police $15.00
R102 usher $10.00
R104 janitor $15.00
事件平面线
planno lineno timestart timeend number locno resno
P104 2 18:00 22:00 4 L100 R104
P104 1 18:00 22:00 4 L101 R104
P105 2 18:00 22:00 4 L100 R104
P105 1 18:00 22:00 4 L101 R104
我相信在我提供的行中,EventPlanLine中的所有四行都应该返回,因为这两个plannos的所有费率都高于$15.00请尝试提供您的问题的详细信息。您的联接中已经有3个表,您的示例没有反映what中的内容以及问题的确切性质。我看不到对where子句中的值进行任何比率比较。再次检查where子句。
P000R101$20.00
高于$10。那为什么要排除呢?谢谢你的反馈。第一次将SO用于SQL。谢谢我认为比率比较在FROM子句中的嵌套循环中进行
planno lineno timestart timeend number locno resno
P104 2 18:00 22:00 4 L100 R104
P104 1 18:00 22:00 4 L101 R104
P105 2 18:00 22:00 4 L100 R104
P105 1 18:00 22:00 4 L101 R104