[firebase-br] (sem assunto)
Kléber Caneva
kdcc em terra.com.br
Qui Jun 1 10:31:42 -03 2006
Tente substituir esse trecho no seu select:
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",
por
CAST( case when ic.SERVICO is NULL then p.PRECOVENDA * ic.QUANTIDADE
when ic.SERVICO is NOT NULL then s.PRECOVENDA *
ic.QUANTIDADE end
as NUMERIC(15,2) )
as "Total Item",
O explicação para isso é que o cmapo calculado deve estar com o DOUBLE
PRECISON, e quando você usa no calculo ele lhe retorna um DOUBLE PRECISION
[]´s
Kléber Caneva
----- Original Message -----
From: "Rafael" <rafigor em yahoo.com.br>
To: "Firebase" <lista em firebase.com.br>
Sent: Thursday, June 01, 2006 9:58 AM
Subject: [firebase-br] (sem assunto)
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
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1149166849.669952.6619.curepipe.hst.terra.com.br,5542,Des15,Des15
Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 31/05/2006 / Versão:
4.4.00/4774
Proteja o seu e-mail Terra: http://mail.terra.com.br/
Mais detalhes sobre a lista de discussão lista