Ir para conteúdo
Fórum Script Brasil
  • 0

Retornar mês em consulta SQL


JonasFloripa

Pergunta

Olá pessoal..

Estou tetando realizar uma consulta mas não está dando certo...

Seria uma consulta retornando de uma tabela o mês e despois com o resultado, realizo mais um consulta para retornar outro campo, usando o mês, da consulta anterior, como parâmetro de verificação.

O problema que na segunda consulta não está funcionando a comparação do mês...o código segue abaixo:

$queryE = "SELECT DAY(data) as dia,MONTH(data) as mes,YEAR(data) as ano FROM candidatos where idescala='".$idnome."'";
   $resultE = $obj->executaQuery($queryE);
   
   while($linhaE = mysql_fetch_array($resultE)):
   
          $dia = $linhaE['dia'];
        $mes = $linhaE['mes'];
        $ano = $linhaE['ano'];

        $query = "SELECT * FROM candidatos where idescala='".$idnome."' and mes='".$mes_atual."'";
        $result = $obj->executaQuery($query);
        while($linha = mysql_fetch_array($result)){
                $login = $linha['login'];
                echo ''.$login;

a consulta é realizada na mesma tabela duas vzs porque na primeira eu só quero o mês e na segunda eu pego o restante dos dados, mas eu preciso comparar somente o mês com mês correte..

Obrigado pela ajuda

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi, 'JonasFloripa'

Sua consulta está errada. A primeira consulta nunca falará com a segunda. pois o campo mes não existe.

Se você quer o "mes atual" implica que você quer o mes do ano corrente. então sua consulta deveria ser cirada assim:

(Em sql somente. Não conheço PHP e nem quero conhecer)

SELECT * 
FROM candidatos 
WHERE idescala= '".$idnome."' AND data BETWEEN '".$data1."' AND '".$data2."';

Serão duas variáveis de data como parâmetro. A primeira com o início do mes ('".$data1."'= '2010-06-01')e a segunda com o final ('".$data2."' '2010-06-30').

Esta é a forma que dá o retorno mais rápido na consulta.

Se esta consulta for executada com frequencia e se a quantidade de registro na tabela candidatos for grande, aconselho que você crie um indice por idescalada, data. Vai acelerar muito o tempo de resposta.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...