Ir para conteúdo

POWERED BY:

Arquivado

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

entchucs

Select com if

Recommended Posts

PessoALL,

 

Tenho duas tabelas cfe exemplo (a grosso modo):

 

Tabela Imóveis:

Id

ValorReais

ValorIncc

 

Tabela INCC:

Id

Valor

 

Na tabela de imóveis o usuário preenche o valor em reias OU o valor em incc.

Preciso fazer um select na tabela de imóveis que busque todos os imóveis listando o valor do imóveis e, caso este campo esteja em branco, deve pegar o valorincc (tabela de imoveis) multiplicado pelo valor do INCC (tabela incc).

 

É possível? Não sei nem por onde começar rss

 

Grato,

Mauro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta,

 

Atualmente não existe nenhum relacionamento.

Estou partindo praticamente do zero..

 

Att;

Mauro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, mas como eles se relacionariam ?

 

Dado um imóvel como sei se ele tem INCC ligado à ele ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tabela Imóveis:
Id
ValorReais
ValorIncc

Tabela INCC:
Id
Valor

 

SELECT ID,VALORREAIS,(SELECT A.VALORINCC * B.VALOR FROM INCC B WHERE B.ID = A.IS) VALOR_INCC
FROM MOVEIS A

 

É isto ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O select está perfeito.

O detalhe é que eu preciso fazer uma busca entre faixas de valores.

No caso eu tenho que considerar se o campo 'valorreais' for igual a zero eu busco pelo 'valorincc'. Se o valor for diferente de zero eu considero o campo 'valorreais'.

 

Algo do genero

 

SELECT ID,VALORREAIS,(SELECT A.VALORINCC * B.VALOR FROM INCC B WHERE B.ID = A.IS) VALOR_INCC

FROM MOVEIS A where VALOR_INCC BETWEEN 100 AND 200

 

OU

 

SELECT ID,VALORREAIS,(SELECT A.VALORINCC * B.VALOR FROM INCC B WHERE B.ID = A.IS) VALOR_INCC

FROM MOVEIS A where VALOR_REAIS BETWEEN 100 AND 200

 

Preciso que seja no mesmo select para exibir o resultado da busca :(

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT ID,GREATEST(VALORREAIS,VALOR_INCC) VALOR
FROM
(
SELECT ID,VALORREAIS,(SELECT A.VALORINCC * B.VALOR FROM INCC B WHERE B.ID = A.IS) VALOR_INCC
FROM MOVEIS A
) C
WHERE (C.VALORREAIS BETWEEN 100 AND 200
      OR
      C.VALOR_INCCBETWEEN 100 AND 200)

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.