如何在MS Access中编写连接选择查询?

时间:2009-09-30 05:10:08

标签: sql ms-access ms-access-2003

我说这些表格下面有字段名称。

DailyLeaveLedger
dldEmployeeID
dldLeaveDate

InvoiceHeader
invEmployeeID
invWeekEnding
InvNumberWeeksCovered

所以我想要一个查询选择发票所涵盖的休假天数,即invWeekEnding 02 Oct和InvNumberWeeksCovered = 1然后在9月26日至10月2日范围内的任何休假都可以。 您还必须匹配EmployeeiD字段。

在MSAccess 2003中,请?

1 个答案:

答案 0 :(得分:0)

试试这个

SELECT InvoiceHeader.invEmployeeID, 
       InvoiceHeader.invWeekEnding, 
       DateAdd("d",-[InvNumberWeeksCovered]*7,[invWeekEnding]) AS StartDate,
       DailyLeaveLedger.dldLeaveDate
  FROM InvoiceHeader 
       INNER JOIN DailyLeaveLedger 
          ON InvoiceHeader.invEmployeeID = DailyLeaveLedger.dldEmployeeID
WHERE (((DailyLeaveLedger.dldLeaveDate) 
         Between [invWeekEnding] 
         And DateAdd("d",-[InvNumberWeeksCovered]*7,[invWeekEnding])));

我所做的是将-7 * InvNumberWeeksCovered添加到invdate,然后检查它们之间的日期。

希望有所帮助。