我有桌上的火柴
| id_匹配|标识团队1|团队标识2|
| - -|- -|- -|
| 一个|美国|日本|
| 2个|澳大利亚|美国|
| 三个|CAN总线|石油|
| 四个|石油|美国|
而桌上的队伍
| id_团队|姓名|
| - -|- -|
| 美国|美利坚合众国|
| 日本|日本Name|
| 一个人。|一个人。|
我还想把一张新的表还给那些从来没有像这样比赛过的球队。
| 标识团队1|团队标识2|
| - -|- -|
| 美国|澳大利亚|
| CAN总线|美国|
| 一个人。|一个人。|
我想我必须使用交叉连接和减法,但我不知道具体如何做。如果有人能想到如何做,或更简单的方法,我真的很感激!
1条答案
按热度按时间n53p2ov01#
您可以将teams表与其自身交叉联接,以生成所有可能的匹配组合,然后排除那些已经使用
not exists
发生的匹配组合:如果您同时需要team 1/team 2和team 2/team 1游戏,则:
如果您希望每对球队之间只进行一场比赛,那么我们需要添加一些条件逻辑: