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