我创建了一个按名称搜索事件的查询。结果列出具有相同名称的事件年份(2012年12月10日至2013年4月30日)。我的问题是如何让我的查询只显示我想要选择的年份中的事件具有相同的名称。
例如:我只想看看这个月或今年同名的事件。
查询:
SELECT
UserField03, GageNumber, GageType, LastCheckOutDate, CurrentLocation
FROM
Gages
WHERE
GageNumber IN (SELECT DISTINCT Gages.GageNumber
FROM Gages
INNER JOIN Events ON Gages.GageID = Events.GageID
WHERE (Name = 'Returned to Cal')
)
ORDER BY
LastCheckOutDate
答案 0 :(得分:0)
尝试这样的事情:
SELECT UserField03, GageNumber, GageType, LastCheckOutDate, CurrentLocation
FROM Gages INNER JOIN
(SELECT GageID FROM Events eo WHERE eo.Name
IN(SELECT e.Name FROM Events e WHERE e.DateOfEvent BETWEEN '2012-10-12' AND '2013-04-30' AND e.Name='Returned to Cal'
GROUP BY e.Name HAVING COUNT(*) > 1) AND e.DateOfEvent BETWEEN '2012-10-12' AND '2013-04-30') EveAlias
ON Gages.GageID=EveAlias.GageID
在最嵌套的子选择中,您将获得事件的名称,这些事件满足日期和名称条件,并且其名称出现多次(HAVING COUNT(*) > 1)
在定义的时间段内。在外部选择中,您将获得{{ 1}}此类事件,因此您可以使用GageId
执行最终加入。