Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Raffael Dornelles

Alunos que foram cadastrados no ano de 2010

Recommended Posts

Bom dia pessoal!

 

Estou precisando fazer uma Query que me retorne todos os alunos que foram cadastrados no ano de 2010!

 

Alguem pode me ajudar?

 

meu banco de dados é mysql!

 

 

Grato pela atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @Raffael Dornelles,

 

Seu post foi dividido em um novo tópico.

 

A referência onde seu post se encontrava é o seguinte tópico.

 

Abraços

 

Mário Monteiro

 

---------------

 

Basicamente precisa selecionar o ano no campo da data de cadastro que você deve ter ai

 

SELECT * FROM TABELA WHERE YEAR(DATA) = 2010

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @Raffael Dornelles,

 

Seu post foi dividido em um novo tópico.

 

A referência onde seu post se encontrava é o seguinte tópico.

 

Abraços

 

Mário Monteiro

 

---------------

 

Basicamente precisa selecionar o ano no campo da data de cadastro que você deve ter ai

 

SELECT * FROM TABELA WHERE YEAR(DATA) = 2010

 

 

 

Bom, e se eu quisesse retorna todos alunos da data de "01/01/2010" a "25/12/2010"! tem como?

 

eu tenho um campo de data do tipo "varchar".A data fina no mesmo formato de cima!

 

não sei se estou me expressando bem!

 

 

Olá @Raffael Dornelles,

 

Seu post foi dividido em um novo tópico.

 

A referência onde seu post se encontrava é o seguinte tópico.

 

Abraços

 

Mário Monteiro

 

---------------

 

Basicamente precisa selecionar o ano no campo da data de cadastro que você deve ter ai

 

SELECT * FROM TABELA WHERE YEAR(DATA) = 2010

 

 

 

Bom, e se eu quisesse retorna todos alunos da data de "01/01/2010" a "25/12/2010"! tem como?

 

eu tenho um campo de data do tipo "varchar".A data fina no mesmo formato de cima!

 

não sei se estou me expressando bem!

 

 

Achei uma query, quem quiser tá ai!

 

SELECT nome_atnd,d_inc_atnd FROM atendidos WHERE (`d_inc_atnd` < '11-11-2010') OR (`d_inc_atnd` > '01-01-2010')

ORDER BY d_inc_atnd ASC

 

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafael, para esse propósito (comparação de datas), utilize o between:

 

SELECT nome_atnd,d_inc_atnd FROM atendidos WHERE d_inc_atnd BETWEEN '2010-11-11' OR '2010-01-01' ORDER BY d_inc_atnd ASC;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rafael, para esse propósito (comparação de datas), utilize o between:

 

SELECT nome_atnd,d_inc_atnd FROM atendidos WHERE d_inc_atnd BETWEEN '2010-11-11' OR '2010-01-01' ORDER BY d_inc_atnd ASC;

 

Fiz essa query e os valores voltam corretamente, mas quando vou exportar no phpmyadmin ele me retorna todos os dados da base!

tem outra forma de extrair?

 

Query:

 

SELECT DISTINCT(A.nome_atnd),A.nome_R_atnd,A.cpf_R_atnd,A.nome_R_atnd FROM atendidos A

LEFT JOIN rel_atnd_trm B ON (A.id_atnd = B.id_atnd)

LEFT JOIN rel_ofn_trm C ON (B.id_trm = C.id_trm)

LEFT JOIN rel_atv_ofn D ON(C.id_ofn = D.id_ofn)

WHERE (A.d_inc_atnd < '11-11-2010') OR (A.d_inc_atnd > '01-01-2010')

AND B.ctr_rel = '1'

AND D.id_atv = '4'

ORDER BY A.nome_atnd ASC

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, agora estou com outro problema!

 

coloquei na query a data de '25/12/2010' e falto algumas pessoas cadastradas, mas quando coloquei a data atual voltou todos normalmente...tem algum problema de eu colocar a data de "25/12/2010"?

 

 

Query:

 

SELECT nome_atnd,d_inc_atnd FROM atendidos WHERE d_inc_atnd BETWEEN '2010-11-11' OR '2010-01-01' ORDER BY d_inc_atnd ASC;

 

 

Grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem problema algum, basta colocar a data no formato correto e ter algum aluno cadastrado nessa data.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem problema algum, basta colocar a data no formato correto e ter algum aluno cadastrado nessa data.

 

 

Caio,

coloquei o campo de d_inc_atnd para mostrar os valores retornados do banco, e utilizando a query que voce me mandou...volta alunos do ano de 2009! sabe porque?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Inverte as datas,

 

SELECT nome_atnd,d_inc_atnd FROM atendidos WHERE d_inc_atnd BETWEEN '2010-01-01' OR '2010-11-11' ORDER BY d_inc_atnd ASC;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Inverte as datas,

 

SELECT nome_atnd,d_inc_atnd FROM atendidos WHERE d_inc_atnd BETWEEN '2010-01-01' OR '2010-11-11' ORDER BY d_inc_atnd ASC;

 

 

deu erro:

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OR '2010-11-11'

ORDER BY d_inc_atnd ASC

LIMIT 0, 30' at line 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe raffael, não é OR e sim AND.

 

SELECT nome_atnd,d_inc_atnd FROM atendidos WHERE d_inc_atnd BETWEEN '2010-01-01' AND '2010-11-11' ORDER BY d_inc_atnd ASC;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe raffael, não é OR e sim AND.

 

SELECT nome_atnd,d_inc_atnd FROM atendidos WHERE d_inc_atnd BETWEEN '2010-01-01' AND '2010-11-11' ORDER BY d_inc_atnd ASC;

Sem problemas.Mas igual, faz troquei o 'or' por 'and', também troquei a ordem das datas e do mesmo jeito continua voltando alunos de 2009!

 

a query que eu estou usando:

 

SELECT DISTINCT(A.nome_atnd),A.nome_R_atnd,A.cpf_R_atnd,A.end_R_atnd,A.d_inc_atnd FROM atendidos A

LEFT JOIN rel_atnd_trm B ON (A.id_atnd = B.id_atnd)

WHERE A.d_inc_atnd '11-11-2010' AND '01-01-2010'

AND B.id_trm = '2'

 

 

Só uma obs, meu campo que armazena a data é do tipo varchar(10) não date como deveria ser.

 

Grato mais um vez!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sua query é esta mesmo? cade o between?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sua query é esta mesmo? cade o between?

 

Desculpa marcio, esqueci de colocar quando fui postar para vocês.agora a query está completa!

 

 

SELECT DISTINCT(A.nome_atnd),A.nome_R_atnd,A.cpf_R_atnd,A.end_R_atnd,A.d_inc_atnd FROM atendidos A

LEFT JOIN rel_atnd_trm B ON (A.id_atnd = B.id_atnd)

WHERE A.d_inc_atnd BETWEEN '11-11-2010' AND '01-01-2010'

AND B.id_trm = '2'

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.