Sql 使用多字段选择Distinct
我创建了一个按名称搜索事件的查询。结果列出了同名事件的年份(2012年12月10日至2013年30月4日)。我的问题是,如何使我的查询只显示我想要选择的年份中具有相同名称的事件 例如:我只想看看这个月或今年的同名活动 查询:Sql 使用多字段选择Distinct,sql,select,distinct,Sql,Select,Distinct,我创建了一个按名称搜索事件的查询。结果列出了同名事件的年份(2012年12月10日至2013年30月4日)。我的问题是,如何使我的查询只显示我想要选择的年份中具有相同名称的事件 例如:我只想看看这个月或今年的同名活动 查询: SELECT UserField03, GageNumber, GageType, LastCheckOutDate, CurrentLocation FROM Gages WHERE GageNumber IN (SELECT DISTINC
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
试着这样做:
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
在most嵌套子选择中,您将获得事件的名称,该名称满足日期和名称条件,并且其名称在定义的期间内出现多次(HAVING COUNT(*)>1)
。在外部选择中,您将获得此类事件的GageId
,因此您可以使用Gages
执行最终连接