gpt4 book ai didi

MySQL - 在一个字段中显示多行(具有内连接的表)q

转载 作者:行者123 更新时间:2023-11-29 20:47:42 24 4
gpt4 key购买 nike

我有一个mysql数据库,有3张表,一张表称为fixturechannels,一张表称为footballfixtures,一张表称为satellite。

基本上,卫星表包含有关卫星 channel 的信息(名称、国家/地区、channelid),footballfixtures包含(matchid、主队、客队、比赛...),fixturechannels是包含(matchid和channelid,这些是分别通过卫星表和足球赛表表中的外键链接)。

以下是表格的更多详细信息:

tablelayouts

我使用了下面的查询,它有效,我能够从表中回显我需要的详细信息

"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>

我的问题是比赛详细信息显示两次因为列出了两个显示相同匹配的 channel (参见图片)

incorrectoutput

我想要的输出是每场比赛的详细信息显示一次,并且显示比赛的多个 channel 的名称显示在 channel 名称列中(无多行)

我尝试使用 GROUP_CONCAT,但没有成功,我尝试了 GROUP_CONCAT,因为我知道不建议在 MYSQL 中每个字段有多个值。

非常感谢任何可以提供帮助或指导的人。

最佳答案

在主队、客队和比赛中添加 group_by 以及 channel GROUP_CONCAT 应该可以!

关于MySQL - 在一个字段中显示多行(具有内连接的表)q,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38329319/

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