entchucs 0 Denunciar post Postado Fevereiro 14, 2012 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 645 Denunciar post Postado Fevereiro 15, 2012 Como as tabelas se relacionam ? Sempre existe o join ? Compartilhar este post Link para o post Compartilhar em outros sites
entchucs 0 Denunciar post Postado Fevereiro 15, 2012 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
Motta 645 Denunciar post Postado Fevereiro 15, 2012 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
entchucs 0 Denunciar post Postado Fevereiro 15, 2012 O INCC esta ligado a ele se o campo for diferente de zero. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Fevereiro 15, 2012 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
entchucs 0 Denunciar post Postado Fevereiro 15, 2012 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
Motta 645 Denunciar post Postado Fevereiro 15, 2012 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