Sql server 2008 使用sql联接查找列中的重复项

Sql server 2008 使用sql联接查找列中的重复项,sql-server-2008,join,duplicates,Sql Server 2008,Join,Duplicates,事实上,我之前已经发布了这个问题。但是没有一个很好的解决方案,所以我删除了旧的。我又把它贴在这里了 请看一下我的桌子。在dateofbirth字段中有两对相似的dateofbirth 现在的问题是“我如何才能返回当天出生的学生的姓名” 当我前几天发布这个问题时,我得到了一个使用分区的解决方案,我的一个朋友告诉我,他认为使用连接是可能的。我想知道是否可以使用“SQL连接”,然后使用哪个连接(自连接?),为什么使用它,以及对您编写的代码的良好解释。我的意思是解释每一行,因为我是sql的初学者,所以

事实上,我之前已经发布了这个问题。但是没有一个很好的解决方案,所以我删除了旧的。我又把它贴在这里了

请看一下我的桌子。在dateofbirth字段中有两对相似的dateofbirth

现在的问题是“我如何才能返回当天出生的学生的姓名”

当我前几天发布这个问题时,我得到了一个使用分区的解决方案,我的一个朋友告诉我,他认为使用连接是可能的。我想知道是否可以使用“SQL连接”,然后使用哪个连接(自连接?),为什么使用它,以及对您编写的代码的良好解释。我的意思是解释每一行,因为我是sql的初学者,所以我可以很容易地理解它


我不想要复杂的解释或代码,我想要最简单的基本方法。我想从基础上学习它。

对我来说,一个简单的方法是:

SELECT * 
FROM Students
INNER JOIN 
         (SELECT stu_dateofbirth 
          FROM Students 
          GROUP BY stu_dateofbirth 
HAVING Count(stu_dateofbirth 
         ) > 1) AS DateOfBirths
ON Students.stu_dateofbirth = DateOfBirths.stu_dateofbirth 
联接位于select语句上,该语句获取多次出现的任何出生日期,然后在主表的“出生日期”列上联接该语句,以检索与出生日期匹配的所有学生


有很多方法,但是上面提到的方法可以通过连接来实现,所以希望这有帮助

这不是家庭作业。这是我们的培训师上周提出的50个问题。这是一个初学者系列,就像电影中的基本素材一样。我做了所有的中间问题(主要是使用内部联接),因为这是一个表。我搜索了很多关于self-join的内容,找到了很多答案,但是对于这个问题,我很难理解。而且我也不太明白自我连接的真正含义。谢谢你的回复,保罗。我还可以知道其他技术来找到它吗。请提供上述解释。