Fórum Ajuda com instrucao SQL, soma e mult. #333082

14/11/2006

0

Tenho esta tabela

| NNota | Produto | Qtd | Valor Unitario |
| | | | |
| | | | |
| | | | |
| | | | |


como faco via sql, para que cada produto seja multiplicado pela quantidade, e que todo resutado seja somado com o proximo registro para se obter um valor total a ser pago ?
Como se fosse uma nota fiscal..

Obrigado.


Geisonc

Geisonc

Responder

Posts

14/11/2006

Steve_narancic

Select sum(QTD * VALOR) from TABELA



Responder

Gostei + 0

14/11/2006

Geisonc

Obrigado, funcionou OK.


Responder

Gostei + 0

14/11/2006

Geisonc

olhem só:

modulo.qTrocaPecas.SQL.Clear;
modulo.qTrocaPecas.SQL.Add(´Select SUM(qtd * valorunitario) as totalaqui from tbtrocapecas where nnota = :ennota´);
modulo.qTrocaPecas.ParamByName(´ennota´).Asinteger:=(strtoint(ennota.Text));
modulo.qTrocaPecas.Open;
LSubTotal.Caption:=(floattostr(modulo.qTrocaPecas.fieldByName(´totalaqui´).asfloat));


funciona belezinha, mas se tem algum preço tipo 16,86 * 2 , ele gera um numero muito grande. Há uma maneira de deixar somente com duas casas decimais?
lembrando q o componente que está recebendo eh um label.


Responder

Gostei + 0

14/11/2006

Steve_narancic

odulo.qTrocaPecas.SQL.Clear;
modulo.qTrocaPecas.SQL.Add(´Select cast(SUM(qtd * valorunitario)as numeric(15,2)) as totalaqui from tbtrocapecas where nnota = :ennota´);
modulo.qTrocaPecas.ParamByName(´ennota´).Asinteger:=(strtoint(ennota.Text));
modulo.qTrocaPecas.Open;
LSubTotal.Caption:=(floattostr(modulo.qTrocaPecas.fieldByName(´totalaqui´).asfloat));


Através de um CAST


Responder

Gostei + 0

14/11/2006

Geisonc

humm... interessante !
mas, ta dando um erro nessa parte
as numeric(15,2))

como estou usando o componente zeus, será q ele ta barrando algo ?


Responder

Gostei + 0

14/11/2006

Steve_narancic

seu banco é firebird? senão substitua numeric(15,2) pelo tipo para o qual voce quer converter.
Ex.: se voce substituir numeric(15,2) por integer o resultado sera do tipo integer.


Responder

Gostei + 0

14/11/2006

Geisonc

Uso MYSQL.

Nao sei pq cargas d´agua nao deu certo... e eu procurei no google tbem, e todos estavam da maneira q vc escreveu.

mas, fiz assim. meu campo estava com tipo float, fui na estrutura e mudei para numeric(15,2)

agora ta mostrando belezinha.

Obrigado pela ajuda.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar