Ir para conteúdo

POWERED BY:

Arquivado

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

Ricardo Félix da Silva Jr.

Como relacionar as tabelas?

Recommended Posts

Tenho uma tabela contendo informações sobre os participantes de uma promoção e preciso gerar um relatório que apresente a quantidade de cadastros classificados por sexo e data de cadastro, o resultado da pesquisa deve apresentar algo semelhante à:

 

Data: 19/11/2007 Feminino: 18 cadastros Masculino: 25 cadastros

Data: 20/11/2007 Feminino: 19 cadastros Masculino: 11 cadastros

 

Acredito que a tabela resultando da pesquisa deve conter 3 campos (nfem, nmasc, dtReg) que corresponderiam respectivamente à quantidade de cadastros femininos na data, quantidade de cadastros masculinos na data e finalmente a data em questão.

 

Gostaria que no caso se não existirem cadastros de um determinado sexo na data em questão o resultado da coluna seja 0.

 

A tabela contendo os participantes possui:

 

- id -bigint (PK Auto_Increment)

- sexo - char(1)

- dtReg - Date

 

Acredito que a forma mais provável de realizar tal consulta seria gerando duas subqueries e depois utilizar o JOIN para chegar à resultante mas não sei a forma correta, veja abaixo a forma como estou tentando:

 

SELECT nmasc, nfem, dtReg FROM (SELECT COUNT(*) nmasc, YEAR(dtReg) Ano, MONTH(dtReg) mes, DAY(dtReg) dia, dtReg FROM tbl_participante WHERE Sexo='M' GROUP BY Ano, Mes, Dia) AS masc INNER JOIN (SELECT COUNT(*) nfem, YEAR(dtReg) Ano, MONTH(dtReg) mes, DAY(dtReg) dia, dtReg FROM tbl_participante WHERE Sexo='M' GROUP BY Ano, Mes, Dia) AS fem ON masc.dtReg = fem.dtReg

Com a query acima estou recebendo um empty set.

 

Alguém se habilita?

 

Agradeço desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta usar somente as funções COUNT E GROUP BY, no caso ai não entendi pq. o inner join e o sub-select, creio que não é necessário

 

select count(*) as contador, sexo, dtReg from tbl_participante
group by sexo, dtReg

 

http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eriva, no caso se eu utilizar apenas o GROUP BY a contagem de cadastros do sexo Masculino e Feminino vão ser retornados em linhas diferentes e eu gostaria que elas viessem na mesma lina no formato nº de cadastros masculino, nº de cadastros femininos e data.

 

Obrigado assim mesmo.

 

Atenciosamente,

Ricardo Félix.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahhh entendi... acho que tu que é faze um POG... rss brincadeira parcero

 

uma dica seria esse post: http://forum.imasters.com.br/index.php?showtopic=224865, mostra alguns recursos alternativos como tabela virtual e cursor

 

outra dica, caso for enviada pra alguma aplicação as vezes seria "menos complicado" tratar por, verifica isso ai

 

 

e qq. coisa tamus ae

 

boa sorte

http://forum.imasters.com.br/public/style_emoticons/default/natal_smile.gif

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.