gpt4 book ai didi

MySQL 可能的团队与团队比赛,其中一名球员可以成为多支球队的一员

转载 作者:行者123 更新时间:2023-12-04 08:44:35 25 4
gpt4 key购买 nike

我在数据库中拥有的是球员和球队。
一名球员可以加入多支球队,如下表所述:

player_id | team_id
1 | 1
2 | 1
2 | 2
2 | 3
3 | 2
3 | 3
4 | 4
5 | 4
6 | 5
7 | 5
我想要实现的是一个显示可能的团队与团队比赛的表格。并非所有比赛都可以进行,因为玩家不能与自己比赛。
例子:
  • 团队 1 与团队 2(不可能,因为玩家 2 在两个团队中)
  • 团队 1 与团队 3(不可能,因为玩家 2 在两个团队中)
  • 团队 1 与团队 4(可能)

  • 结果表可能如下所示:
    Home | Away
    1 | 4
    4 | 1
    1 | 5
    5 | 1
    5 | 2
    5 | 3
    5 | 4
    2 | 5
    3 | 5
    4 | 5

    我尝试使用 SELF JOIN 没有运气:
    SELECT A.team_id AS team_home, B.team_id AS team_away 
    FROM players_teams A, players_teams B
    WHERE A.team_id <> B.team_id AND A.player_id <> B.player_id

    最佳答案

    我认为这可以满足您的要求:

    select t1.team_id home, t2.team_id away
    from players_team t1
    inner join players_team t2 on t2.team_id <> t1.team_id
    group by t1.team_id, t2.team_id
    having max(t1.player_id = t2.player_id) = 0

    关于MySQL 可能的团队与团队比赛,其中一名球员可以成为多支球队的一员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64392068/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com