+ -
当前位置:首页 → 问答吧 → 互相SQL查询问题 请高手帮帮忙?

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

时间:2011-08-22

来源:互联网

互相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的


作者: xyflash   发布时间: 2011-08-22

这是所谓的“自连接”查询,如下为示例:
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> 

作者: nicenight   发布时间: 2011-08-22

引用 1 楼 nicenight 的回复:
这是所谓的“自连接”查询,如下为示例:

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 |
+……
1

作者: rucypli   发布时间: 2011-08-22