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)