Sql 如何在MSAccess中编写联接选择查询?
假设这些表下面有字段名Sql 如何在MSAccess中编写联接选择查询?,sql,ms-access,ms-access-2003,Sql,Ms Access,Ms Access 2003,假设这些表下面有字段名 DailyLeaveLedger dldEmployeeID dldLeaveDate InvoiceHeader invEmployeeID invWeekEnding InvNumberWeeksCovered 因此,我需要一个查询,选择发票涵盖的休假天数,即invWeekEnding 02 Oct和InvNumberWeeksCovered=1,那么9月26日至10月2日范围内的任何休假都可以。 此外,还必须使EmployeeiD字段匹配 在MSAccess 2
DailyLeaveLedger
dldEmployeeID
dldLeaveDate
InvoiceHeader
invEmployeeID
invWeekEnding
InvNumberWeeksCovered
因此,我需要一个查询,选择发票涵盖的休假天数,即invWeekEnding 02 Oct和InvNumberWeeksCovered=1,那么9月26日至10月2日范围内的任何休假都可以。
此外,还必须使EmployeeiD字段匹配
在MSAccess 2003中,请?试试这个
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,然后检查它们之间的日期
希望有帮助