1

2 つのテーブルを結合する非常に単純な MySQL クエリがあります。

SELECT teams.id, teams.name, players.id, players.name, players.teamId
FROM teams
LEFT JOIN players
ON teams.id = players.zoneId
WHERE teamId = 3

次に行をフェッチすると、次のようにデータを使用できます。

echo($row["name"] . ", " . $row["id"]);

配列に含まれるデータは、players テーブルのデータです。「teams」テーブルからデータにアクセスするにはどうすればよいですか?

ありがとう。

4

1 に答える 1

6

同じ名前を持つチーム テーブルとプレーヤー テーブルの列を区別するために、列名にエイリアスを使用します。

SELECT teams.id as team_id, teams.name as team_name, players.id, players.name, players.teamId
FROM teams
LEFT JOIN players
ON teams.id = players.zoneId
WHERE teamId = 3

次に、以下を使用してチーム名とチーム ID を取得できます。

$row["team_name"]
$row["team_id"]

私だったら、コードをできるだけ明確にするために、プレイヤー フィールド (player_id など) にもエイリアスを使用します。明確なコード == 保守性の向上。

于 2012-07-25T16:27:30.467 に答える