Sql 选择表中的所有双向连接

Sql 选择表中的所有双向连接,sql,connection,Sql,Connection,我有一个棘手的问题,我真的找不到适合我的数据库模式的答案 假设我有下表: CONNECTIONS 以及以下专栏 连接ID、开始节点、结束节点 假设您可以从StartNode到EndNode进行双向连接 开始节点->结束节点 EndNode->StartNode 它在一张表中表示 详情如下: CONNECTIONS |connID | StartNode | EndNode | | 1 | 9 | 10 | | 2

我有一个棘手的问题,我真的找不到适合我的数据库模式的答案

假设我有下表:

CONNECTIONS
以及以下专栏

连接ID、开始节点、结束节点

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

开始节点->结束节点

EndNode->StartNode

它在一张表中表示 详情如下:

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

我的问题是:什么样的SQL语句可以帮助我检索所有双向连接(在本例中,是上面使用connid1和connid2的前两个连接?

您可以将表连接到它本身,使start和endnote之间相等 如下例所示

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