选择表中的所有双向连接

时间:2014-05-02 14:00:05

标签: sql connection

我有一个棘手的问题,我无法找到适合我的数据库架构的答案。

我们说我有下表:

CONNECTIONS

以下栏目

connID,StartNode,EndNode

并且假设您可以从StartNode到EndNode进行双向连接

StartNode - >终端节点

EndNode - >的StartNode

它表示在一张桌子里 如下:

CONNECTIONS
|connID     |  StartNode   |  EndNode   |
|   1       |    9         |    10      |
|   2       |    10        |    9       |
|   3       |    9         |    11      |

我的问题是:什么SQL语句可以帮助我检索所有双向连接(在这种情况下,上面的前2个连接是connId 1和2?

1 个答案:

答案 0 :(得分:1)

您可以将表连接到自己,将开始和结束之间的相等性 如下例所示

select A.* from connections A
inner join connections B on (A.startnode=B.endnode and A.endnode = B.startnode)