CARREGAR GRID COM TABELAS RELACIONADAS
Olá amigos,
Gostaria de tirar uma dúvida, preciso carregar uma grid com algumas informações
Vou relacionar no select 3 tabelas:
- Pessoa
- Endereco
- Telefone
Onde uma pessoa pode ter mais de um endereço e telefone
Só que eu gostaria que aparece na minha grid somente o primeiro endereço e telefone de cada pessoa
Será que existe uma forma de eu fazer isso?
Obrigado!
Gostaria de tirar uma dúvida, preciso carregar uma grid com algumas informações
Vou relacionar no select 3 tabelas:
- Pessoa
- Endereco
- Telefone
Onde uma pessoa pode ter mais de um endereço e telefone
Só que eu gostaria que aparece na minha grid somente o primeiro endereço e telefone de cada pessoa
Será que existe uma forma de eu fazer isso?
Obrigado!
Use subqueries.
Select Pessoa.Nome, (Select Top 1 logradouro from Endereco where CodPessoa = Pessoa.Codigo) As Endereco, (Select Top 1 telefone from Telefon e where CodPessoa = Pessoa.Codigo) As Endereco from Pessoa where xxxxx.........
Olá caro KERPLUNK!
Meu, do jeito que você me passou funcionou perfeito! Valeu... Agora, quando eu uso como abaixo, usando todos os campos dentro da subquery, ele me retorna a seguinte informação: Você gravou uma subconsulta que pode retornar mais de um campo sem usar a palavra reservada EXISTS na cláusula FROM da consulta principal.
Eu nunca precisei usar esse EXISTS, onde eu uso ela? Valeu
Select Pessoa.Nome, (Select Top [txt-color=#e80000]*[/txt-color] logradouro from Endereco where CodPessoa = Pessoa.Codigo) As Endereco, (Select Top 1 [txt-color=#e80000]*[/txt-color] from Telefon e where CodPessoa = Pessoa.Codigo) As Endereco from Pessoa
Meu, do jeito que você me passou funcionou perfeito! Valeu... Agora, quando eu uso como abaixo, usando todos os campos dentro da subquery, ele me retorna a seguinte informação: Você gravou uma subconsulta que pode retornar mais de um campo sem usar a palavra reservada EXISTS na cláusula FROM da consulta principal.
Eu nunca precisei usar esse EXISTS, onde eu uso ela? Valeu
Select Pessoa.Nome, (Select Top [txt-color=#e80000]*[/txt-color] logradouro from Endereco where CodPessoa = Pessoa.Codigo) As Endereco, (Select Top 1 [txt-color=#e80000]*[/txt-color] from Telefon e where CodPessoa = Pessoa.Codigo) As Endereco from Pessoa
Cara, dei uma fuçada aqui sobre o EXISTS e consegui fazer funcionar, valeu pela sua dica!
Abaixo vou deixar o código que retornou as informações para mim
Select PE.*, EN.*, TE.* From (Pessoa PE Left Join Endereco EN On EN.pessoa_end = PE.id_pes) Left Join Telefone TE On TE.pessoa_tel = PE.id_pes Where Exists (Select * From Endereco Where principal_end =1) And Exists (Select * From Telefone Where principal_tel =1)
Abaixo vou deixar o código que retornou as informações para mim
Select PE.*, EN.*, TE.* From (Pessoa PE Left Join Endereco EN On EN.pessoa_end = PE.id_pes) Left Join Telefone TE On TE.pessoa_tel = PE.id_pes Where Exists (Select * From Endereco Where principal_end =1) And Exists (Select * From Telefone Where principal_tel =1)
Tópico encerrado , respostas não são mais permitidas