首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL查询-在同一事件中显示具有相同结果的竞争对手

SQL查询-在同一事件中显示具有相同结果的竞争对手
EN

Stack Overflow用户
提问于 2012-09-12 11:31:34
回答 1查看 50关注 0票数 0

我正在尝试从一个假设表“结果”中选择在同一事件中获得相同排名的竞争者。有人知道这个查询出了什么问题吗?

我似乎只得到了彼此相邻的相同的竞争对手号码,而不是不同的竞争对手号码。

代码语言:javascript
复制
Select Eventid, Place, c1.Competitornum, c2.Competitornum
From Results natural join Results c2
Where c1.Place = c2.Place 
and c1.Eventid = c2.Eventid
Order by Eventid, Place
EN

回答 1

Stack Overflow用户

发布于 2012-09-12 11:44:12

natural join对所有相同的字段进行过滤。这意味着您当前的where子句是多余的。它还意味着连接条件包含Compititornum,这解释了为什么只获得具有相同Competitornum的行。

尝试使用inner join,而不是natural join。使用inner join,您可以在on子句中显式设置联接条件:

代码语言:javascript
复制
select  c1.Eventid
,       c1.Place
,       c1.Competitornum
,       c2.Competitornum
from    Results c1
inner join 
        Results c2
on      c1.Place = c2.Place 
        and c1.Eventid = c2.Eventid
        and c1.Competitornum <> c2.Competitornum
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12380839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档