查找并仅显示sql中相同的值

时间:2012-09-05 02:11:42

标签: sql

我正在根据游泳活动进行查询。有独特的事件代码,以及独特的游泳者代码和他们的位置。我目前遇到了一个问题,因为我想只显示在同一赛事中有TIED的游泳运动员(EG我想只显示在100米接力赛中绑定的游泳运动员)。

是否有一些语法可以做到这一点?

我正在做类似的事情

SELECT Swimmers, Eventid, Place
FROM Results
WHERE Place=Place
AND Eventid=Eventid

但其中包括没有打平的游泳运动员。

任何建议都会很棒

2 个答案:

答案 0 :(得分:5)

试试这个,

SELECT Swimmers, 
       Eventid, 
       Place
FROM  Results a INNER JOIN
        (
            SELECT EventID, Place ,COUNT(Place) totalPlace
            FROM Results
            GROUP BY EventID, Place
            HAVING COUNT(Place) > 1
        ) b ON a.eventID = b.EventID AND
                a.Place = b.Place
-- WHERE -- add extra conditions here

答案 1 :(得分:0)

你可以做这样的事情

    SELECT Swimmers, EventId, Place
    FROM Results r JOIN
      (SELECT EventId, Place
       FROM Results
       GROUP BY EventId, Place
       HAVING COUNT(*) > 1) t ON (r.EventId = t.EventId AND r.Place = t.Place)