2013-05-16 84 views
0

我創建了一個按名稱搜索事件的查詢。結果列出了具有相同名稱的活動年份(2012年10月12日至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

嘗試這樣:

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 

在你得到事件的名稱最爲嵌套子查詢,這satisifies日期和名稱條件,他的名字出現超過一次(HAVING COUNT(*) > 1)在定義的時間段內,在外部選擇您獲得GageId這樣的事件,因此您可以執行最後加入Gages

相關問題