访问比较每一行

时间:2018-06-19 05:55:21

标签: sql ms-access

将几个表组合在一起,以在一个表中显示计划编号,活动编号,日期/时间工作日,资源编号和$ Rate。我试图仅为每个planno返回记录,其中该计划中的每条记录的费率都高于$ 15.00 (费率由resno号确定)。

所以,

P000 R100 $10.00
P000 R100 $10.00
P000 R101 $20.00

不会返回任何内容。 但是,

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)
        );

EventPlan

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

EventPlanLine

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

0 个答案:

没有答案