Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
Motta,
Atualmente não existe nenhum relacionamento.
Estou partindo praticamente do zero..
Att;
Mauro
Ok, mas como eles se relacionariam ?
Dado um imóvel como sei se ele tem INCC ligado à ele ?
O INCC esta ligado a ele se o campo for diferente de zero.
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 ?
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 :(
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)
Como as tabelas se relacionam ?
Sempre existe o join ?