日期:2014-05-16  浏览次数:20748 次

互相SQL查询问题 请高手帮帮忙?
互相SQL查询问题 请高手帮帮忙?

有表A:
uid sid
1 2
2 3
2 1
2 6
1 3
1 5
3 1
3 2


现在需要列出:
uid 与 sid 互相对调的数据,请问如何实现?

例如如上数据最终需要的结果为:列出uid=1的所有对调数据
uid sid
1 2
1 3


数据库为mysql5.0的




------解决方案--------------------
这是所谓的“自连接”查询,如下为示例:
SQL code

mysql> select a.*
from a, a as b
where a.uid = 1 and a.uid = b.sid and a.sid = b.uid;
+-----+-----+
| uid | sid |
+-----+-----+
|   1 |   2 |
|   1 |   3 |
+-----+-----+
2 rows in set

mysql>

------解决方案--------------------
SQL code
select * from 表A t1 ,表A t2 
where t1.uid=t2.sid 
and t1.sid=t2.uid
wand t1.uid=1