3

我正在根据游泳事件进行查询。有独特的事件代码,以及独特的游泳者代码,以及它们的位置。我目前有一个问题,因为我只想显示在同一事件中并列的游泳者(例如,我只想显示在 100 米接力赛中并列的游泳者)。

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

我正在做类似的事情

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

但这甚至包括没有打领带的游泳运动员。

任何建议都会很棒

4

2 回答 2

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
于 2012-09-05T02:16:23.397 回答
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)
于 2012-09-05T02:16:46.257 回答