Não li o seu e-mail inteiro (estou com sono) mas...
Faz um Cast nos campos para que eles fiquem iguais
Tipo.. Cast(camp1 as numeric(12,4)) (mesmo que ele esteja definido como
numeric(12,3)... faça isso e vê se dá certo...
outra coisa...
Tente multiplicar/dividir por 100.000 por exemplo (onde "." é casa decimal)
Talvez funcione...
Agora se você quer um arredondamento financeiro... escreve uma udf pra
isso :D
[]'s
Thiago
Rafael wrote:
> Bom dia Galera.
>
>
>
> Seguinte, estou enfrentando um problema no firebird e não estou conseguindo
> solucionar.
>
>
>
> Estou desenvolvendo um sistema de restaurante, e
>
>
>
> Eu tenho uma tabela de produtos, e nesta tabela eu tenho os seguintes
> campos:
>
>
>
> - PRODUTO – PK
>
> - CATEGORIAPRODUTO = FK
>
> - NOMEPRODUTO
>
> - PRECOMEDIO
>
> - QUANTIDADE
>
> - LUCRO
>
> - PRECOVENDA
>
>
>
> O PRECOVENDA é um campo calculado pelo próprio banco que é PRECOVENDA +
> ((PRECOVENDA * LUCRO) / 100)
>
>
>
> Ai eu tenho uma tabela com de Comandas e Itens Comanda
>
> Dentro do Itens Comanda eu tenho 2 campos que podem ser relacionado ao
> produto,
>
> Que é o PRODUTO ou pode ser um SERVIÇO
>
>
>
> Porem na hora que eu vou mostrar os dados na tela eu mostro a Quantidade
> pedida do Produto ou Serviço o Valor Unitário e o Valor Total do Produto ou
> Serviço
>
> E Quando o a Quantidade é 1 por exemplo o meu registro fica assim
>
>
>
> Produto 1
>
> Quantidade 1
>
> Valor Item 2,63
>
> Valor Total 2,625
>
>
>
> O meu campo de Quantidade é Numérico de 8,2 e o campos de valor é numérico
> de 13,2
>
>
>
> A minha select é esta:
>
>
>
> select
>
> ic.QUANTIDADE,
>
> c.COMANDA,
>
> c.MESA,
>
> ic.SEQUENCIA,
>
> ic.SERVICO,
>
> ic.PRODUTO,
>
>
>
> case when ic.SERVICO is NULL then ic.PRODUTO
>
> when ic.SERVICO is NOT NULL then ic.SERVICO end as "Produtos",
>
>
>
> case when ic.SERVICO is NULL then p.NOMEPRODUTO
>
> when ic.SERVICO is NOT NULL then s.DESCRICAOSERVICO end as "Nome
> Produto",
>
>
>
> case when ic.SERVICO is NULL then p.PRECOVENDA
>
> when ic.SERVICO is NOT NULL then s.PRECOVENDA end as "Valor
> Unitário",
>
>
>
> case when ic.SERVICO is NULL then p.PRECOVENDA * ic.QUANTIDADE
>
> when ic.SERVICO is NOT NULL then s.PRECOVENDA * ic.QUANTIDADE end
> as "Total Item",
>
>
>
> case when ic.SERVICO is NULL then 'Produto'
>
> when ic.SERVICO is NOT NULL then 'Serviço' end as "Tipo Produto"
>
>
>
> from COMANDAS c
>
>
>
> INNER JOIN ITENS_COMANDA ic ON ic.COMANDA = c.COMANDA
>
> LEFT JOIN SERVICOS s ON s.SERVICO = ic.SERVICO
>
> LEFT JOIN PRODUTOS p ON p.PRODUTO = ic.PRODUTO
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
>
>
___
Navegue com o Yahoo! Acesso Grátis, assista aos jogos do Brasil na Copa e ganhe
prêmios de hora em hora!
http://br.yahoo.com/artilheirodacopa/
--
< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >
<*> Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages
<*> Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html