问题描述
我很困惑如何在count
上不使用group by
的情况下获得join
我知道我可以使用group by
获得所需的结果,但是表联接很长,并且带有case语句的选定标题很多,所以我希望避免这种情况
我敢肯定,在使用partition over
之前已经完成了此操作,但是找不到在联接上使用它的好例子。也许不可能!?
我尝试过
select
p.FirstName,p.Surname,count(pr.RelativePersonId) over (partition by pr.RelativePersonId) as [RelativesOnRecord]
from People p
left join PersonRelatives pr
on p.PersonId = pr.PersonId
对于我的桌子:
人
PersonId | FirstName | Surname
1 Jim Bo
2 Harry Bo
3 Strong Bo
PersonRelatives
Id | PersonId | RelativePersonId
1 1 2
2 1 3
我要去哪里
PersonId | FirstName | Surname | RelativesOnRecord
1 Jim Bo 2
我也尝试过加入SELECT TOP 1
,但这只给了我一个结果,因此很重要。如果没有group by
,这是否有可能?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)