member_id とスコアの「結果」というテーブルがあります。各 member_id には複数の行があり、各 member_id のスコアを合計して、Member と Score の 2 つの列を持つテーブルに出力したいと考えています。
同時に、値「フルネーム」を抽出し、データの出力時にそれをメンバー列に表示するために、Members というテーブル (結果と共通のフィールド member_id を共有する) に結合する必要があります。
1 つの SQL クエリですべてを実行し、それを単純にテーブルに出力できると思いますが (これは既に実行できます)、データを正しく出力できるクエリを作成するのに苦労しています。
結果テーブルのデータのサンプルを次に示します。
- member_id: スコア:
- 45:5:
- 45:6:
- 26:7:
- 26:2:
そしてメンバーテーブルから
- member_id: フルネーム:
- 45: ボブ・ジョーンズ:
- 26: ジョン・スミス:
そして、SQLクエリからデータが返されることをどのように望んでいますか
- メンバー: スコア:
- ボブ・ジョーンズ: 11:
- ジョン・スミス: 9:
ここではコロンを使用して値を区切り、見やすくしています。結果テーブルには、反復処理が必要な不明な数のユーザーと不明な数の行が存在することに注意してください。
編集:
ここに私が今持っているものがあります
$sql = "SELECT Members.fullname 'Name', Results.score 'Score' FROM Members
JOIN Results ON Results.member_id=Members.member_id
GROUP BY Members.member_id, Members.fullname
";
$result = mysql_query($sql)or die(mysql_error());
echo "<table>";
echo "<tr>
<th>Name</th>
<th>Score</th>
</tr>";
while($row = mysql_fetch_array($result)){
$names = $row['Name'];
$score = $row['Score'];
echo "<tr>
<td style='width: 100px;'>".$names."</td>
<td style='width: 100px;'>".$score."</td>
</tr>";
}
echo "</table>";
?>
再度編集: 投稿が修正され、問題が解決されました。ありがとう!