日期:2014-05-18  浏览次数:20452 次

新人求教一道问题!
表是这样的

艺术家 出生日期 艺术家编号

艺术家1 日期1 编号1
艺术家2 日期2 编号2
艺术家3 日期3 编号3
艺术家4 日期4 编号4
... ...

要求对比所有艺术家,将拥有相同出生日期的以

艺术家 出生日期 艺术家

的格式输出。

初学压力很大,请高手指点!



------解决方案--------------------
探讨

我做出来,但是出现重复数据,比如

艺术家A 日期 艺术家B
艺术家B 日期 艺术家A

我是 select A.艺术家 as 第一人,出生日期,B.艺术家 as 第二人
from table A,table B
where A.出生日期=B艺术家.出生日期 and A.艺术家编号<>B.艺术家编号
Group by 第一人

------解决方案--------------------
SQL code
select * from tb1 where 出生日期 in(select 出生日期 from tb1 group by 出生日期)

------解决方案--------------------
SELECT A.艺术家,A.出生日期,B.艺术家FROM YS A
JOIN YS B ON A.出生日期=B.出生日期 AND A.编号<B.编号