1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Completar consulta em mysql

Discussão em 'Web Development' iniciada por moriva, 16 de Junho de 2008. (Respostas: 2; Visualizações: 566)

  1. moriva

    moriva Power Member

    Tenho uma tabela em mysql e pretendia efectuar algumas consultas mas só tenho parte da consulta porque a outra parte não sei como se faz.

    Podem-me ajudar!

    Tabela "andebol":
    Código:
    CREATE TABLE IF NOT EXISTS `andebol` (
      `Cod_Jogo` bigint(20) NOT NULL auto_increment,
      `Tipo` varchar(20) NOT NULL default '',
      `Data` date NOT NULL default '0000-00-00',
      `Hora` time NOT NULL default '00:00:00',
      `Local` varchar(20) NOT NULL default '',
      `Equipa1` varchar(50) NOT NULL default '',
      `Equipa2` varchar(50) NOT NULL default '',
      `Periodo1Equipa1` int(50) NOT NULL default '0',
      `Periodo1Equipa2` int(50) NOT NULL default '0',
      `Periodo2Equipa1` int(50) NOT NULL default '0',
      `Periodo2Equipa2` int(50) NOT NULL default '0',
      `FinalEquipa1` int(50) NOT NULL default '0',
      `FinalEquipa2` int(50) NOT NULL default '0',
      PRIMARY KEY  (`Cod_Jogo`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    
    E a parte do código que eu já tenho é esta:
    Código:
    SELECT Equipa
    FROM ( 
             SELECT Equipa1 AS Equipa
             FROM andebol
             UNION ALL
             SELECT Equipa2 AS Equipa
             FROM andebol 
           ) AS U
    GROUP BY Equipa;
    
    Se voces experimentarem esta consulta verão que esta retorna o nome das equipas inseridas na tabela e o meu objectivo era colocar a frente de cada equipa o numero de vitorias e o numero de golos marcados.

    Uma ajudinha aí,pessoal. Ficaria muito grato.
     
    Última edição: 16 de Junho de 2008
  2. silvino

    silvino Power Member

    Olá,

    Vamos lá ver entendi e se não me vou enganar :)

    Queres o nome que é guardado aqui:
    Código:
    `Equipa1` varchar(50) NOT NULL default '',
    Código:
    `Equipa2` varchar(50) NOT NULL default '',
    E queres os resultados que são guardados aqui:
    Código:
    `FinalEquipa1` int(50) NOT NULL default '0',
    Código:
    `FinalEquipa2` int(50) NOT NULL default '0',
    A query se não estou em erro será ?
    Código:
    $str="SELECT Equipa1 AS nome1, FinalEquipa1 AS resultado1, Equipa2 AS nome2, FinalEquipa2 AS resultado2 FROM andebol"
    Para apresentar o resultado;
    PHP:
    $resultado=mysql_query($str);
    echo 
    '<ul>'."\n";
    while(
    $linha mysql_fetch_array($resultado)){
    echo 
    '<li>'.$linha["nome1"].' = '.$linha["resultado1"].'</li>'."\n";
    echo 
    '<li>'.$linha["nome2"].' = '.$linha["resultado2"].'</li>'."\n";
    }
    echo 
    '</ul>'."\n";
    Até Já
     
  3. moriva

    moriva Power Member

    Obrigado por teres respondido mas acho que não percebeste bem o que pretendo.

    1º-Eu queria que mostrasse o nome de cada equipa apenas uma vez caso a equipa esteja em mais de que um registo.Mas isso ja esta feito com o código desta consulta:
    Código:
    SELECT Equipa
    FROM ( 
             SELECT Equipa1 AS Equipa
             FROM andebol
             UNION ALL
             SELECT Equipa2 AS Equipa
             FROM andebol 
           ) AS U
    GROUP BY Equipa;
    2º- O mais dificil é colocar a frente de cada equipa o numero de golos marcados e o numero de vitórias.

    Dica: Para perceberes melhor aconselho-te a criar a tabela "andebol" no mysql ou phpmyadmin e a colocares alguns registos e experimentares a consulta acima.

    Se me ajudassem agradecia muito.
     

Partilhar esta Página