我有一个包含此列的用户表:l_code,l_name,year_of_birth。 我需要返回一个表,其中包含具有相同出生年份的所有用户对(不同)。 新表将包含:user1,user2,year_of_birth。我如何用sql查询实现它?
答案 0 :(得分:0)
自我加入会:
select t1.l_code, t1.l_name, t2.l_code, t2.l_name, t1.year_of_birth
from your_table t1
inner join your_table t2
on t1.year_of_birth = t2.year_of_birth
and t1.l_code <> t2.l_code;
您可能希望保留l_code列,因为可能存在许多具有相同名称的用户。
注意:它不会产生那些没有任何其他用户同一年份的用户,但是你可以通过外连接来实现这一点。