Я хочу получить значения из двух разных таблиц. моя проблема в том, что таблицы не связаны друг с другом, кроме "team_id"
У меня есть таблица player и player_stat.
Мой результат должен выглядеть так:
Имя игрока (из таблицы "player")
Очков: 8, передач: 2, фолов: 0 (из таблицы player_stat)
Имя игрока 2 (из таблицы "player")
Очков: 8, передач: 2, фолов: 0 (из таблицы player_stat)
Вот моя попытка:
<?php
/* PLAYERSTAT */
$attrs = array(PDO::ATTR_PERSISTENT => true);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT data.player_stat
FROM
(SELECT * from player_stat
UNION
SELECT * from player) data
");
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
?>
echo $row["playername"]."<br>";
echo $row["points"]." ".$row["assists"];
<?php }
?>
Мои столы
Player: id team_id имя создано
Player_stat: id team_id очков, созданных голевых фолов
2 ответа
Ваш SQL-запрос может выглядеть так (предполагается, что team_id должен связывать статистику и игрока):
SELECT
player.playername,
player_stat.points,
player_stat.assists,
player_stat.fouls
FROM
player
LEFT JOIN player_stat ON (player.team_id = player_stat.team_id)
Но немного странно, что единственное отношение между вашими таблицами - это team_id. Если вывод должен быть для каждого игрока, вы должны представить связь между статистикой и игроком.
Скажем, ваш игрок может быть в команде, должны быть team_id и player_id. И тогда ваш JOIN
будет читать:
LEFT JOIN player_stats ON (player.player_id = player_stats.player_id)
И в качестве дополнения вы можете запросить для своей команды:
WHERE
player.team_id = 55
Или вы можете добавить другие присоединения, чтобы получить информацию о вашей команде и так далее.
Измените свой оператор select, чтобы он читался:
SELECT * FROM player, player_stat WHERE player.team_id = player_stat.team_id
Вышеизложенное основано на вашем заявлении о том, что у них есть общий идентификатор команды. Если это не то, чего вы пытаетесь достичь, уточните свой вопрос и опубликуйте схему базы данных.
Похожие вопросы
Новые вопросы
php
PHP — это широко используемый язык сценариев общего назначения с открытым исходным кодом, мультипарадигмальный, динамически типизированный и интерпретируемый, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.