使用表中的自联接检索数据

时间:2014-08-20 10:47:21

标签: sql self-join

我使用自联接来获取数据

表名MyInfo:

+------+------+
| NAME | CITY |
+------+------+
|  a   | null |
|  b   | null |
| null |  c   |
| null |  d   |
+------+------+

我希望输出为

+------+------+
| NAME | CITY |
+------+------+
|  a   |  c   |
|  b   |  d   |
+------+------+

我试过:我使用了自我加入,但无法达到上述结果。

我也使用了联盟,但没有得到输出。

问题:我只能显示姓名或城市字段,我可以获得上述输出。 任何线索或任何建议都可以帮助我。

1 个答案:

答案 0 :(得分:0)

试试这个,

select * from (select top 1  * from 
(select t2.NAME ,t1.CITY from tel t1,tel t2
where t2.NAME !=t1.CITY)m union 
select top 1  * from  (select t2.NAME ,t1.CITY
from tel t1,tel t2  where t2.NAME !=t1.CITY
)m order by m.NAME desc,m.CITY desc)A