ok, isso é realmente complicado e eu não consigo entender isso, seria ótimo se você pudesse me ajudar com isso,
estou tentando escrever uma consulta usando pdo que faça o seguinte,
- obter todos os usuários de uma formação, incluindo o usuário da tabela de formação
- junte-se à equipe de cada usuário
- obtenha os jogadores de cada equipe naquela formação e calcule a soma da pontuação
- classifique o resultado por posição (da formação e do campo de posição da tabela de usuários) do primeiro ao último (1,2,3,4 ..)
O que eu tentei no Code
function getFormation(Request $request, Response $response) {
$id = $request->getAttribute('id');
$sql = "SELECT u.id, u.formation, u.position FROM users AS u INNER JOIN formation AS f ON f.userid = u.id INNER JOIN teams as t ON t.userid = u.id WHERE f.id = :id OR u.formation =:id";
try {
$db = new db();
$db = $db->connect();
$stmt = $db->prepare($sql);
$stmt->bindParam(":id", $id);
$stmt->execute();
$formation = $stmt->fetch(PDO::FETCH_OBJ);
$db = null;
if(empty($formation)) {
$response->getBody()->write
('
{
"error":
{
"status":"400",
"message":"Invalid Request"
}
}');
} else {
$response->getBody()->write(json_encode($formation));
}
} catch(PDOException $e) {
$response->getBody()->write
('
{
"error":
{
"message":'. $e->getMessage() .'
}
}');
}
};
o que eu não consigo fazer é
entrar na mesa de jogadores em qual id devo entrar? eu tenho 10
jogadores id na tabela de timescalculando a soma das pontuações de todos os jogadores
classifique o resultado por posição (da formação e do
campo de posição da tabela de usuários ) do primeiro ao último (1,2,3,4 ..)
amostra de resultado / dados retornados
posição da formação, usuário da formação, pontuação total 1 (pontuação p1 1 + pontuação p2 1 + pontuação 1 p3 …), pontuação total 2, pontuação total 3, pontuação total 4, pontuação total 5, pontuação total 6, pontos da equipe
aqui está minha estrutura de banco de dados
==============================================
mesa de formação
“id” -> formação criada pelo usuário
“ID do usuário”
“posição” -> posição de formação criada pelo usuário
==============================================
mesa de usuários
“Eu iria”
“formação” -> formação associada ao usuário
“posição” -> posição de formação associada ao usuário
==============================================
mesa de times
“Eu iria”
“ID do usuário”
“pontos”
“jogador1”
“jogador2”
“jogador3”
“jogador4”
“jogador5”
“player6”
“jogador7”
“jogador8”
“jogador9”
“jogador10”
==============================================
mesa de jogadores
- “Eu iria”
- “score1”
- “score2”
- “score3”
- “score4”
- “score5”
- “score6”