Ir para conteúdo

POWERED BY:

Arquivado

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

Elton

Qual é a Estrutura Certa?

Recommended Posts

Galera tenho uma agenda feita em asp com banco de dados em sql serve. nessa agenda tenho uma tabela que se chama entidade e nela contem o nome da pessoa e na outra tabela que se chama contato eu tenho todos os telefones da pessoa, eu montei uma estrutura que na pagina inicial mostra apena o nome da pessoa e um dos telefones so que para isso eu montei um recordset dentro do outro.Minha duvida é: Como eu monto um select de forma que traga apenas o nome e um dos telefones, ja tentei DISTINCT, GROUP BY, HAVING, VIEW mas nao consigo gostaria de uma ajuda para montar isso. nessa agenda eu tenho pessoas que tem ate 5 telefones cadastrador ex. (Residencial, Comercial, Celular, Fax, Nextel e etc)ObrigadoEx. de como estao as tabelas.Tabela1IdPessoa - Codigo da pessoa dentro do sistema (auto numerico, primary key)DescPessoa - Nome da pessoaTabela2IdPessoa - codigo da pessoa (foreign key)IdContato - Codigo auto numerico do contatoDescContato - Numero do telefone da pessoa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que talvez isto dê certo.Select t1.DescPessoa,'Fone' = (select top 1 DescContato from Tabela2 t2 (nolock) where t2.IdPessoa = t1.IdPessoa)from Tabela1 t1 (nolock)Até mais,Renato J. C. Lima

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou kra, muito obrigado mas se nao for pedir d+ me explica esse (nolock) nunca ultilizei em lugar nenhum, e se eu colocasse mais uma tabela onde estao os emails da pessoa eu teria que fazer + um select isso em um tabela grande nao iria ficar muito lento? eu estou mudando de estrutura da minha tabela pq eu achei que estava perdendo performance conforme vai alimentando o banco, pq no asp eu faco 3 recordset um dentro do outro parecido com essa estrutura do select.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nolock não "trava" a tabela para fazer o select... nisso no caso de muitas conexões simultaneas, esse processo deixa mais rápido o acesso a tabela, pois não "enfileira" os processos para esta tabela... mas velho... o help do sql server eh muito bom.. não custa dar um F1.. beleza?

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.