ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

consulta em Varias tabelas do bd!!!

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
maxm.ro
Aprendiz
Aprendiz


Registrado: Sexta-Feira, 27 de Abril de 2007
Mensagens: 199

MensagemEnviada: Sáb Set 29, 2007 2:18 pm    Assunto: consulta em Varias tabelas do bd!!! Responder com Citação

o problema é o seguinte:

tenho 4 tabelas de cadastro de clientes
1 - DadosCadastro;
2 - Endereços;
3 - LocalTrabalho;
4 - CodSecundario;

blza... existem um campo em cada uma dessas tabelas q liga elas(NumRegistroUnico) ou seja estão relacionadas atravez desse Num...

assim oque desejo fazer é ua consulta, que possa selecionar os dados de um cliente, por exemplo:

seleciono ocliente com registro nº. 12, então ele deve localizar esse dados nas quatro tabelas, pois o registro dele vai constar em todas, assim eu fiz um simples codigod e consulta, só que pra mostrar os dados tive que usar 4 DBGrids, um para cada tabela.

Quero saber se é possivel mostrar esse dados em somente uma grid?

Agradeço a ajuda...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Sáb Set 29, 2007 5:00 pm    Assunto: Responder com Citação

Bom vc não postou a estrutura das tabelas envolvidas logo assim fiza apenas um exemplo aqui, pra vc adaptar ai.

Tabela Empresa E
id_empresa integer
empresa var(50)

tabela Funcionario F
id_ func integer
nome var(50)
id_empresa Integer

Com o INNER JOIN
Código:
select E.id_empresa, E.empresa, F.id_func, F.nome from empresa E
inner join funcionarios F on F.id_empresa = E.id_empresa


Este select é simples
Com o INNER JOIN posso mostrar apenas os dados que tem na tabela Empresa e a tabela funcionarios.

Com o LEFT JOIN
Código:
select E.id_empresa, E.empresa, F.id_func, F.nome from empresa E
left join funcionarios F on F.id_empresa = E.id_empresa


Este select é simples
Com o LEFT JOIN posso mostrar todas empresas que tem no banco de dados da tabela Empresas e apenas os dados que tem na tabela Funcionarios, os quais não tem na tabela Funcionarios mostra como nulos.

Blz
Espero ter ajudado.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
maxm.ro
Aprendiz
Aprendiz


Registrado: Sexta-Feira, 27 de Abril de 2007
Mensagens: 199

MensagemEnviada: Sáb Set 29, 2007 10:20 pm    Assunto: blza, Responder com Citação

só uma coisa que não entendi direito, pra mostrar isso eu teria que ter 2 Grids não é ? um para os dados da tabela EMPRESA e outro para FUNCIONARIO.

vlw e obrgado pela ajuda...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
joao_arthur
Profissional
Profissional


Registrado: Sexta-Feira, 10 de Novembro de 2006
Mensagens: 687
Localização: Fortaleza-CE

MensagemEnviada: Dom Set 30, 2007 3:11 pm    Assunto: Responder com Citação

isso é uma consulta só então você pode usar somente um DBGrid
Dica: Nomei os campos

ex.: select coun(*) as 'Quantidade' from tabela
_________________
João Arthur.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Dom Set 30, 2007 6:38 pm    Assunto: Re: blza, Responder com Citação

maxm.ro escreveu:
só uma coisa que não entendi direito, pra mostrar isso eu teria que ter 2 Grids não é ? um para os dados da tabela EMPRESA e outro para FUNCIONARIO.

vlw e obrgado pela ajuda...
Não amigo, este JOIN é para juntar as duas tabelas num só grid.

Exemplo como vai aparecer no grind

Citação:
ID_EMPRESA-------EMPRESA---------ID_FUNC--------NOME
1--------------------MATHIAS LTDA-----1--------------JOÃO CARLOS
1--------------------MATHIAS LTDA-----2--------------PEDRO LOPES
2--------------------SANTOS LTDA------1--------------FRANCISCO

_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB