Ir para conteúdo

POWERED BY:

Arquivado

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

mestre fyoda

Campos De Retorno Com Not Exists

Recommended Posts

Select IM.codigo_imovel from Imovel IM where NOT EXISTS( Select INQ.nome, INQ.cpf, INQ.rg, INQ.telefone, INQ.telefone_celular FROM Inquilino INQ where IM.codigo_inquilino = INQ.codigo_inquilino )

Esta query, eu gostaria que me retornace IM.codigo e INQ.nome, INQ.cpf, INQ.rg, INQ.telefone, INQ.telefone_celular, mas nao sei como fazer isso, pq se eu fazer desta maneira :

 

Select IM.codigo_imovel, INQ.nome, INQ.cpf, INQ.rg, INQ.telefone, INQ.telefone_celular from Imovel IM where NOT EXISTS( Select * FROM Inquilino INQ where IM.codigo_inquilino = INQ.codigo_inquilino )
da erro !

 

Mas se eu fizer desta desta maneira

Select IM.codigo_imovel from Imovel IM where NOT EXISTS( Select INQ.nome, INQ.cpf, INQ.rg, INQ.telefone, INQ.telefone_celular FROM Inquilino INQ where IM.codigo_inquilino = INQ.codigo_inquilino )
so vai me retornar o IM.codigo_imovel.

 

Como faço para me retornar IM.codigo_imovel e INQ.nome, INQ.cpf, INQ.rg, INQ.telefone, INQ.telefone_celular ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mestre fyoda

 

Pelo que entendi, você deseja exibir informações contidas nas duas tabelas, mas notei que é utilizado o "not exists" nas três query's citadas você. O "not exists" na query diz que os dados serão retornados caso "não exista" um ou mais registros na segunda tabela.

 

Para você visualizar os dados contidos nas duas tabelas, é necessário pelo menos um vínculo entre a tabela imovel e inquilino. Por exemplo:

 

select IM.codigo_imovel, INQ.nome, INQ.cpf, INQ.rg, INQ.telefone, INQ.telefone_celular from Imovel IM

inner join Inquilino INQ on IM.codigo_inquilino = INQ.codigo_inquilino;

 

Utilizando o "not exists" ou "exists" a query somente verifica a existencia dos dados e com isso você não consegue exibir os dados das duas tabelas. Por isso utilizei o JOIN para extrair as informações que você precisa.

 

Veja se é isso.

 

[]'s

 

Fernando Silveira

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na tabela inquilino não pode repetir o codigo_inquilino e na tabela Imovel pode ter um ou mais codigo_inquilino.

A ideia da query é essa:

- codigo_inquilino da Tabela Inquilino não deve conter o codigo_inquilino na tabela Imovel. Como eu faço ?

 

Tentei assim

 

Select

IM.codigo_imovel, INQ.nome, INQ.cpf, INQ.rg, INQ.telefone, INQ.telefone_celular

 

from

Imovel IM INNER

JOIN

Inquilino INQ

 

ON

IM.codigo_inquilino <> INQ.codigo_inquilino

 

e me retorna para cada codigo_inquilino 2x !

 

Eu preciso de apenas um codigo_inquilino que não esteja na tabela Imovel !

Compartilhar este post


Link para o post
Compartilhar em outros sites

No primeiro post você perguntou:

 

Como faço para me retornar IM.codigo_imovel e INQ.nome, INQ.cpf, INQ.rg, INQ.telefone, INQ.telefone_celular ?

 

No terceiro post você afirmou:

 

Eu preciso de apenas um codigo_inquilino que não esteja na tabela Imovel !

 

O que você quer realmente? Para responder a primeira pergunta, você deve fazer uma query que relacione as duas tabelas, como a que eu citei no post anterior. Para a segunda situação você iria trazer os dados dos inquilinos sem poder exibir os dados dos imóveis justamente porque o inquilino não está num imóvel.

 

Se você explicar o que realmente precisa, fica mais fácil montar a query.

 

[]'s

 

Fernando Silveira

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.