![ActiveDelphi - Índice do Fórum](templates/subSilver/images/logo_phpBB.gif) |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
mrjorio Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
Registrado: Segunda-Feira, 24 de Setembro de 2012 Mensagens: 85
|
Enviada: Ter Ago 06, 2013 11:28 pm Assunto: SELCT com três tabelas |
|
|
Boa noite.
Estou precisando fazer um select de forma que eu consiga compilar dados de uma tabela (presença) organizados por critérios constantes em outras duas tabelas (cadastro e reuniões).
Tabelas:
A) Presenca
a1- matricula (fpK)
a2- datareunião (fPK)
B) Cadastro
b1 - matricula (pk)
b2 - nome
b3 - categoria
b4 - datainicio
b5 - data final
C) Reuniao
c1- datareuniao
c2 - tipo
c3 - local
A consulta é:
Quantas presencas o cliente da categoria "A" teve nas reuniões realizadas de dd/mm/yyyy(datainicio) a dd/mm/yyyy(datafinal) que são do tipo "X".
A ideia de retorno no query é a seguinte:
matricula| Total
Consegui com muitas linhas de código no Delphi XE2 fazer essa consulta, porém gostaria de fazer com a SQL.
Utilizo o SQLite3 e Delphi XE2
Obrigado |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
joemil Moderador
![Moderador Moderador](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/moderador.gif)
Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9099 Localização: Sinop-MT
|
Enviada: Qua Ago 07, 2013 8:11 am Assunto: |
|
|
um exemplo:
Código: | SELECT presenca.*, cadastro.*, reuniao.*
FROM presenca
INNER JOIN cadastro ON cadastro.matricula = presenca.matricula
INNER JOIN reuniao ON reuniao.datareuniao = presenca.datareuniao
WHERE cadastro.matricula = "A"
AND reuniao.datareuniao BETWEEN "2013-01-01" AND "2013-01-31"
AND reuniao.tipo = "X"
ORDER BY cadastro.nome |
depois q vc tiver o resultado completo, vc pode mudar o sql pra usar as funcoes de agregacao: SUM, COUNT, AVG... em conjunto com o GROUP BY _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
mrjorio Novato
![Novato Novato](../modules/PNphpBB2/templates/PNTheme/images/narodniki-classic/star1.gif)
Registrado: Segunda-Feira, 24 de Setembro de 2012 Mensagens: 85
|
Enviada: Sáb Ago 10, 2013 6:44 pm Assunto: |
|
|
Joemil,
Boa noite,
Não funcionou.
Aproveitando, no caso das datas estarem dentro da tabela cadastro, como ficaria a SQL?
joemil escreveu: | um exemplo:
Código: | SELECT presenca.*, cadastro.*, reuniao.*
FROM presenca
INNER JOIN cadastro ON cadastro.matricula = presenca.matricula
INNER JOIN reuniao ON reuniao.datareuniao = presenca.datareuniao
WHERE cadastro.matricula = "A"
AND reuniao.datareuniao BETWEEN "2013-01-01" AND "2013-01-31"
AND reuniao.tipo = "X"
ORDER BY cadastro.nome |
depois q vc tiver o resultado completo, vc pode mudar o sql pra usar as funcoes de agregacao: SUM, COUNT, AVG... em conjunto com o GROUP BY |
|
|
Voltar ao Topo |
|
![](templates/subSilver/images/spacer.gif) |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|