[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