Fórum Ajuda com instrucao SQL, soma e mult. #333082
14/11/2006
0
| 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
Curtir tópico
+ 0Posts
14/11/2006
Steve_narancic
Select sum(QTD * VALOR) from TABELA
Gostei + 0
14/11/2006
Geisonc
Gostei + 0
14/11/2006
Geisonc
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.
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
Gostei + 0
14/11/2006
Geisonc
mas, ta dando um erro nessa parte
como estou usando o componente zeus, será q ele ta barrando algo ?
Gostei + 0
14/11/2006
Steve_narancic
Ex.: se voce substituir numeric(15,2) por integer o resultado sera do tipo integer.
Gostei + 0
14/11/2006
Geisonc
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.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)