根据日期范围连接表

时间:2016-04-20 06:19:09

标签: ms-access join

我有MS Access问题

我一直在努力处理包含日期范围连接的查询。 找到一些关闭的帖子,但没有让它工作

我有两张桌子。 一个包含一些数据和截止日期。

Table A 
Field 1, Field 2, Field 3, Due Date

另一张表包含有关期间的信息。

Table B
Periodname, Field X/Y/Z, StartDate, EndDate

我尝试使用此输出进行查询

Field 1, Field 2, Due Date, Periodname

希望你能提供帮助。

5 个答案:

答案 0 :(得分:1)

在MsAccess中,您实际上可以使用<>编写连接语句,但您无法在查询编辑器中显示它。

SELECT [Field 1], [Field 2], [Field 3], [Due Date], PeriodName
FROM A INNER JOIN B ON A.[Due Date] >= B.StartDate AND A.DueDate <= B.EndDate

答案 1 :(得分:0)

你可以&#34;加入&#34;通过 where 子句:

Select
    Field1, 
    Field2, 
    DueDate, 
    Periodname
From
    TableA,
    TableB
Where
    DueDate Between StartDate And EndDate

答案 2 :(得分:0)

这是我到目前为止创造的 但是我在&#34;之间&#34;命令。 &#34;您使用了运营商&#39;之间&#39;没有&#39;和&#39;

SELECT Left([Q_Epics]。[Component / s],3)AS Proj_Nr,Mid([Q_Epics]。[Component / s],6,35)AS Project,Q_Epics。[Epic Key],Q_Epics.Summary ,Q_Epics.Labels,Q_Epics。[截止日期],Sprints.Sprint AS Sprint

FROM Q_Epics

LEFT JOIN Sprint ON Q_Epics。[截止日期] BETWEEN [Sprints]。[StartSprint]和[Sprint]。[EindeSprint]

GROUP BY Left([Q_Epics]。[Component / s],3),Mid([Q_Epics]。[Component / s],6,35),Q_Epics。[Epic Key],Q_Epics.Summary,Q_Epics。标签,Q_Epics。[截止日期],Q_Epics.EpicStatus

HAVING(((Q_Epics.EpicStatus)&lt;&gt;&#34;已关闭&#34;))

订购Q_Epics。[截止日期];

答案 3 :(得分:0)

在此版本中,错误是: 您尝试运行查询,其中表达'Sprints.Sprint'不是静态函数的一部分

SELECT Left([Q_Epics]。[Component / s],3)AS Proj_Nr,Mid([Q_Epics]。[Component / s],6,35)AS Project,Q_Epics。[Epic Key],Q_Epics.Summary ,Q_Epics.Labels,Q_Epics。[截止日期],Sprints.Sprint

FROM Q_Epics

内部JOIN Spr ON ON Q_Epics。[截止日期]&gt; = [Sprints]。[StartSprint]和Q_Epics。[截止日期]&lt; = [Sprints]。[EindeSprint]

GROUP BY Left([Q_Epics]。[Component / s],3),Mid([Q_Epics]。[Component / s],6,35),Q_Epics。[Epic Key],Q_Epics.Summary,Q_Epics。标签,Q_Epics。[截止日期],Q_Epics.EpicStatus

HAVING(((Q_Epics.EpicStatus)&lt;&gt;“已关闭”))

订购Q_Epics。[截止日期];

答案 4 :(得分:0)

完成。 结合你的答案!感谢

SELECT Left([Q_Epics]。[Component / s],3)AS Proj_Nr,Mid([Q_Epics]。[Component / s],6,35)AS Project,Q_Epics。[Epic Key] AS [Epic Key] ],Q_Epics.Summary AS Summary,Q_Epics.Labels AS Labels,Q_Epics。[截止日期] AS [截止日期],[Sprint]。[Sprint] AS Sprint

FROM Q_Epics

LEFT JOIN Spr ON ON(Q_Epics。[截止日期]&gt; = [Sprints]。[StartSprint])AND(Q_Epics。[截止日期]&lt; = [Sprints]。[EindeSprint])

WHERE(((Q_Epics.EpicStatus)&lt;&gt;&#34;已关闭&#34;))

订购Q_Epics。[截止日期];