2016-04-20 124 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];