概述
我有一堆关于我正在举办的比赛的数据,我想以更好的格式展示它。
有4张桌子;前两个是不言自明的,points
和extras
表本质上是完全相同的,它们只是存储在不同的表中,列名略有不同。
数据
用户 +----+----------------+------+ | 编号 | 姓名 | 团队 | +----+----------------+------+ | 1 | 约翰·多伊 | 1 | | 2 | 简巷 | 1 | | 3 | 杰克布莱克 | 4 | | 4 | 丹巴姆 | 3 | | 5 | 帕姆简 | 2 | | 6 | 流行馅饼 | 2 | | 7 | 约翰 Q | 1 | | 8 | 雨果奇怪 | 3 | | 9 | 吉米中子 | 2 | +----+----------------+------+
团队 +----+------------------+ | 编号 | 姓名 | +----+------------------+ | 1 | 团队乐趣 | | 2 | 梦之队 | | 3 | 在它赢得它| | 4 | 哥们 | +----+------------------+
积分 +---------+--------+------------+ | 用户 ID | 积分 | 活动 | +---------+--------+------------+ | 1 | 2 | 篮球 | | 2 | 4 | 篮球 | | 5 | 1 | 篮球 | | 8 | 3 | 篮球 | | 9 | 5 | 篮球 | | 2 | 8 | 排球 | | 5 | 5.5 | 排球 | | 6 | 6.5 | 排球 | | 7 | 2 | 排球 | | 8 | 4 | 排球 | | 9 | 9.5 | 排球 | | 1 | 2.5 | 躲避球 | | 3 | 3 | 躲避球 | | 4 | 4 | 躲避球 | | 6 | 9 | 躲避球 | | 7 | 2.5 | 躲避球 | | 9 | 3 | 躲避球 | +---------+--------+------------+
附加功能 +---------+--------+----------+ | 用户 ID | 积分 | 描述 | +---------+--------+----------+ | 1 | 5 | 伟大的体育精神 | | 3 | 10 | 团队球员 | | 8 | 5.5 | 最大改进 | +---------+--------+----------+
我想做的事
我想编写一个查询来返回特定团队参与的所有事件(和“额外”)、团队所有成员的总分以及该事件的参与成员。
下面的示例使用 Team Fun(团队 1):
+---------------------+--------+--------------------+------------+
| event | points | members | members_id |
+---------------------+--------+--------------------+------------+
| Basketball | 6 | John Doe,Jane Lane | 1,2 |
| Volleyball | 10 | Jane Lane,John Q | 2,7 |
| Dodgeball | 5 | John Doe,John Q | 1,7 |
| Great Sportsmanship | 5 | John Doe | 1 |
+---------------------+--------+--------------------+------------+
如果有人可以帮助我解决这个问题,我将不胜感激!
SQLFiddle
这是具有上述数据模式的 SQLFiddle - http://sqlfiddle.com/#!2/e8f97a