2016-04-20 31 views
2

我有一个MS Access问题基于日期范围的连接表

我一直在努力与包含与日期范围联接的查询。 发现一对夫妇的帖子,但没有得到它的工作

我有两个表。 一个包含一些数据和一个到期日。

表A 字段1,字段2,字段3,截止日期

其他表包含有关一个段的信息。

表B Periodname,现场X/Y/Z,起始日期,结束日期

我尽量让查询此输出 场1,场2,截止日期,Periodname

希望你能帮帮我。

回答

0

可以“加入”由其中子句:

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

我设法让它与Where一起工作,显然问题是我只从表A获得与表B相匹配的记录。 – Castellum

+0

当然,这就是我如何阅读你的问题。 – Gustav

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 
0

这是我创建至今 但我得到的“之间”命令错误。 ([Q_Epics]。[Component/s],3)AS Proj_Nr,Mid([Q_Epics]。[Component/s],6,35)“您使用操作符'Between'没有'And'

SELECT Left )作为项目,Q_Epics。[史诗键],Q_Epics.Summary,Q_Epics.Labels,Q_Epics。[截止日期],Sprints.Sprint斯普林特

FROM Q_Epics

LEFT JOIN冲刺ON Q_Epics。[截止日期([Q_Epics]。[Component/s],3),Mid([Q_Epics]。[Component/s],[BETA]] [[Sprint]] [StartSprint]和[Sprints]。[EindeSprint]。 6,35),Q_Epics。[Epic Key],Q_Epics.Summary,Q_Epics.Lab ELS,Q_Epics [截止日期],Q_Epics.EpicStatus

HAVING(((Q_Epics.EpicStatus)<> “封闭”))

ORDER BY Q_Epics [到期日]。。

0

在这个版本的错误是: 您尝试TU运行一个查询,其中expressin“Sprints.Sprint”不是静态函数

选择向左的一部分([Q_Epics] [分量/ 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。[Due Date],Sprints.Sprint

FROM Q_Epics

INNER JOIN冲刺ON Q_Epics。[截止日期]> = [冲刺] [StartSprint] AND Q_Epics。[到期日] < = [冲刺]。[EindeSprint]

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

HAVING(((Q_Epics.EpicStatus)<> “封闭”))

ORDER BY Q_Epics [到期日]。。

+0

请使用“添加评论”按钮,而不是张贴您的评论作为答案 –

+0

其实请在您的问题上使用“编辑”在那里添加新的代码。 – Andre

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 [史诗键],Q_Epics.Summary AS摘要,Q_Epics.Labels标签,Q_Epics。[到期日] AS [截止日期],[冲刺] [冲刺]斯普林特

FROM Q_Epics

LEFT JOIN冲刺ON(Q_Epics。[截止日期]> = [冲刺]。[StartSprint])AND(Q_Epics。[到期日] < = [冲刺]。[EindeSprint])

WHERE(((Q_Epics.EpicStatus)<> “Closed”))

ORDER BY Q_Epics。[Due Date];