我有一个mysql数据库,有3个表,一个是固定通道,一个是足球,另一个是卫星。
基本上,卫星表格包含关于卫星频道(名称、国家、渠道)的信息,足球装置包含的信息(matchid,hometeam,awayteam,比赛……),而固定频道是一个包含(matchid,和channels,这些分别由卫星和足球固定表中的主键连接)的表格。
以下是各表的进一步详情:
跳台
我使用了下面的查询,它成功了,我能够从表中得到我需要的详细信息。
"SELECT * FROM fixturechannels INNER JOIN footballfixtures ON fixturechannels.matchid=footballfixtures.matchid INNER JOIN satellite ON fixturechannels.channelid=satellite.channelid";用于回显详细信息的代码是:
<tbody><tr>
<th>Match ID</th>
<th>Home Team</th>
<th>Away Team</th>
<th>Competition</th>
<th>Date</th>
<th>Time</th>
<th>Channel ID</th>
<th>Channel Name</th>
</tr>
<?php foreach ($results as $res) { ?>
<tr>
<td><?php echo $res["matchid"]; ?></td>
<td><?php echo $res["hometeam"]; ?></td>
<td><?php echo $res["awayteam"]; ?></td>
<td><?php echo $res["competition"]; ?></td>
<td><?php echo $res["date"]; ?></td>
<td><?php echo $res["time"]; ?></td>
<td><?php echo $res["channelid"]; ?></td>
<td><?php echo $res["name"]; ?></td>
</tr>我的问题是,匹配细节会显示两次,因为有两个频道列出了显示相同匹配的方式(见图像)。
不校正输出
我想要的输出是让每个匹配的细节显示一次,多个频道的名称显示在通道名称列(没有多行)中。
我试过使用GROUP_CONCAT,但没有成功,我尝试了GROUP_CONCAT,因为我知道在MYSQL中每个字段不建议有多个值。
感谢任何能够提供援助或指导的人。
发布于 2016-07-12 12:51:04
在主队、客场和比赛中加入一个group_by和GROUP_CONCAT的频道应该是有效的!
https://stackoverflow.com/questions/38329319
复制相似问题