Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 单个查询中的多个联接_Php_Mysql_Sql_Join - Fatal编程技术网

Php 单个查询中的多个联接

Php 单个查询中的多个联接,php,mysql,sql,join,Php,Mysql,Sql,Join,为足球幻想联盟编写代码。我有两张桌子 Player\u详细信息 列-ID、玩家姓名、点数 用户 列-id,palyer1,player2,player3,……Player11, 用户创建帐户,选择团队中的11名玩家。球队总数是球员从球员详细信息表中获得的分数总和 我想得到每个用户的总数。让我举一个例子: USER player1 player2 player3 Player4 ... ..... ...Player11 Total User1 a

为足球幻想联盟编写代码。我有两张桌子

  • Player\u详细信息

    列-
    ID、玩家姓名、点数

  • 用户

    列-
    id,palyer1,player2,player3,……Player11,

  • 用户创建帐户,选择团队中的11名玩家。球队总数是球员从球员详细信息表中获得的分数总和

    我想得到每个用户的总数。让我举一个例子:

    USER       player1    player2   player3  Player4 ... ..... ...Player11  Total 
    
    User1        a         b          c        d                      j
    user2        d         a          e        b                      k
    
    。 .

    a、 b,c。。。。是玩家表中的玩家名称。现在在总计栏中,我想得到玩家a,b,c,d,…j为User1所得到的分数之和

    用户2、用户3、用户4也一样


    任何帮助都将不胜感激。

    这可能会满足您的需求。请注意,由于您的表结构,您必须为团队中的每个玩家进行连接。正如评论中所指出的,你应该调查一下


    对不起,你连一个问题都没问。这看起来更像是家庭作业,会让你成为一个懒得做家庭作业的人。这张桌子似乎急需重新设计。看,这解决了你的问题吗?如果没有,请提供更多信息以帮助解决此问题。否则,请将其标记为已接受。见“谢谢@nick”,查询工作完全符合要求。我对数据库结构太不满意了。我刚刚开始在这个梦幻联盟工作,如果被问到你建议的理想数据库结构是什么。我只是有用户详细信息,玩家是谁,这是一个很好的问题。对于插入和选择,任何结构都有其优缺点。正如您所看到的,这种结构对于选择非常糟糕,但是对于插入非常容易。用户表的结构只有user\u id、player\u number和player\u id(因此每个用户在表中有11行)对于select(较少的连接)更容易,但是对于insert更难。这主要取决于你期望做得最多的操作。最后一种结构也使得改变一个团队中的球员数量变得更容易……试着用谷歌搜索一下这个问题,你会发现更多的指导
    SELECT u.id AS User,
      p1.PLAYER_NAME AS Player1,
      p2.PLAYER_NAME AS Player2,
      p3.PLAYER_NAME AS Player3,
      p4.PLAYER_NAME AS Player4,
      p5.PLAYER_NAME AS Player5,
      p6.PLAYER_NAME AS Player6,
      p7.PLAYER_NAME AS Player7,
      p8.PLAYER_NAME AS Player8,
      p9.PLAYER_NAME AS Player9,
      p10.PLAYER_NAME AS Player10,
      p11.PLAYER_NAME AS Player11,
      p1.POINTS + p2.POINTS + p3.POINTS + p4.POINTS + p5.POINTS + p6.POINTS + p7.POINTS + p8.POINTS + p9.POINTS + p10.POINTS + p11.POINTS AS Total
    FROM USERS u
    JOIN Player_details p1 ON p1.ID = u.player1
    JOIN Player_details p2 ON p2.ID = u.player2
    JOIN Player_details p3 ON p3.ID = u.player3
    JOIN Player_details p4 ON p4.ID = u.player4
    JOIN Player_details p5 ON p5.ID = u.player5
    JOIN Player_details p6 ON p6.ID = u.player6
    JOIN Player_details p7 ON p7.ID = u.player7
    JOIN Player_details p8 ON p8.ID = u.player8
    JOIN Player_details p9 ON p9.ID = u.player9
    JOIN Player_details p10 ON p10.ID = u.player10
    JOIN Player_details p11 ON p11.ID = u.player11