• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Llaverola

DUVIDA NUMA QUERY COMPLEXA....HELP ME!!!

6 mensagens neste tópico

Ora bem pessoal, estou qs no fim de um projecto, uma plataforma .net feita em php e mysql. mas agora parei pq deparo-me com um problema. explicarei passo a passo:

1º Mostro esta tabela:

name_manager|apelido_manager|apelido_player|grade|date|            name_player|next_oponnent

Ricardo              Coelho                  Rocha              18    2008-04-03    Antonio          Ouriense

Ricardo              Coelho                  Rocha              17    2008-04-04    Antonio          Ouriense

Ricardo              Coelho                  Rocha              15    2008-04-05    Antonio          Ouriense

Ricardo              Coelho                  Rocha              15    2008-04-10    Antonio          Braga

Ricardo              Coelho                  Rocha              15    2008-04-11    Antonio          Braga

Ricardo              Coelho                  Gomes              17    2008-04-04      Bruno        Ouriense

PASSO A EXPLICAR: esta é uma tabela onde o treinador atribui notas a todos os atletas da sua equipa num treino. o antonio rocha tem varias notas em datas diferentes.

Ora o meu problema é fazer uma query que nos indique por ordem crescente os jogadores com melhor media nos treinos na semana q vao jogar contra o ouriense por exemplo..

No inicio peço ao utilizador para inserir o proximo adversario para poder entao fazer a media dos jogadores antes desse jogo.

Faço um POST desse nome, e quero fazer uma query QUE INDIQUE A MEDIA DE TODOS OS JOGADORES NOS TREINOS ORDENADOS POR ORDEM CRESCENTE referente aquele adversario.

AJUDEM-ME POR FAZER PORQUE PAREI aqui NO TRABALHO :)

DEPARO-ME TB COM UM OUTRO PROBLEMA: o nome ANTONIO ROCHA repete-se na tabela e só quero que apareça uma vez com a respectiva media..

OBRIGADO

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

antes de mais "uma plataforma .net feita em php e mysql" tu decide-te rapaz... ou é .net ou é php

E PAGA-ME ESSA TABELA  e começa a usar tabelas somente com inteiros para depois ires buscar os dados a tabela jogadores, interligasres com a TABELA treinos-medias->jogadores e depois sim escolheres qual o jogo e criares o código.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas acho q essa tabela ta bem feita.

o problema é: eu quero imprimir o nome dos jogadores SEM SE REPETIREM NO TERMINAL, juntamente com a sua média obtida naquela semana de treinos antes de um determinado jogo.

Por exemplo, o proximo adversario é o OURIENSE...

quero que apareça algo do genero:

NAME_PLAYER | APELIDO_PLAYER | MEDIA

Antonio                 Rocha                      17

Bruno                    Gomes                    15

...

ENTENDEM? só que o nome antonio rocha esta a repetir-se e só kero q apareça uma vez. E n sei qual a query....AJUDEM-ME PLEASE !!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A tabela está fora das regras de normalização e vai-te sempre dar dados redundantes e gastar mais recursos do que devias. Para resolveres os problemas de raíz, deves é ler e aprender mais antes de passares para a criação.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não percebi muito bem a dúvida, mas parece-me que precisas só precisas de usar um GROUP BY.

É claro que normalizar o esquema da BD também era boa ideia.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

select apelido_player,name_player, AVG(grade) as media from tabela group by apelido_player, name_player order by media

e não digas que vais daqui!

O que isto faz é:

mostra o apelido e nome do player assim como a média total dos campos "grade" (dando-lhe o nome a essa média de "media" [é preciso o nome para poder ordenar no fim] na tabela "tabela" (aqui especificas o nome), depois agrupa os nomes e apelidos iguais (ele agrupa o apelido conforme o nome e vice versa), no fim ordena tudo por media.

Chamas a isto complexo?

Oh querys assim como eu de manha ao lanche!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora