我正在为一个我觉得应该很简单的查询而苦苦挣扎,但我无法理解它。
我们有一个单独的表来保存不同方之间的关系。该表应该为每个关系包含一行。然而,我们注意到一些关系缺失了,我们想重建它们。基本上每个关系应该有两行,关系和逆。
所以,一张健康的桌子应该是这样的……
Id | PartyId | OtherPartyId | RelType | RelStatus
1 1111 2211 1 1
2 2211 1111 1 1
3 3344 4444 1 2
4 4444 3344 1 2
Run Code Online (Sandbox Code Playgroud)
但是,我们有这样的情况......
Id | PartyId | OtherPartyId | RelType | RelStatus
1 1111 2211 1 1
2 2211 1111 1 1
3 3344 4444 1 2
4 5555 2224 1 2
5 2224 5555 1 2
Run Code Online (Sandbox Code Playgroud)
方 3344 和 4444 之间的逆关系缺失,所以我只想返回该行,以便我可以插入逆关系。
'id' 列是无关紧要的,因为它只是一个标识列,但 RelType 和 RelStatus 很重要,因为它们对于反向关系需要相同 - 例如,在 …