Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kania

Valor total dos valores selecionados

Recommended Posts

Olá pessoal,

 

tenho o seguinte select

 

select a.nome, a.inscricao, a.cpfcnpj, coalesce(sum(c.valor),0) as TOTALLOJA from ASSOCIADOS3 a, CONTACORRENTE3 c where c.inscricao = a.inscricao and a.cpfcnpj ='"&CPFCNPJ&"' and c.sinal='C' GROUP BY c.inscricao

este select me lista todos os pagamentos efetuados para um determinado CPF independente da quantidade de login que ele possua desde que com o mesmo CPF.

O que estou tentando fazer agora é dar um total geral nesta tabela, tem como fazer isto?

Pegar estes valores que já foram selecionados acima e criar uma função ou algo que me traga agora o total de todos estes valores listados?

 

abaixo o código da pagina.

 

<!--#Include file="../conexao/conn.asp"-->
<%Response.Charset = "ISO-8859-1" %>
<%
'IDASSOCIADOASSOCIADO = session("IDASSOCIADO")
LOGIN = session("logar")
ID = session("id")


CPFCNPJ= request.Form("numerodoc")

Set RS1 = Server.CreateObject("adodb.recordset")
SQL1 = "select * from ASSOCIADOS3 where INSCRICAO='"&LOGIN&"'" 
RS1.Open SQL1,Conn,3,3

DOCORIGINAL = RS1("cpfcnpj")

if CPFCNPJ = "" THEN

response.Write(" VOCÊ DEVE PREENCHER O CAMPO COM <b>CPF OU CNPJ</b> DE SEU CADASTRO PARA REALIZAR SUA PESQUIZA")

else
%>
<%
Set RS = Server.CreateObject("adodb.recordset")
'SQL = "select * from ASSOCIADOS3 where cpfcnpj='"&CPFCNPJ&"'" 
SQL = "select a.nome, a.inscricao, a.cpfcnpj, coalesce(sum(c.valor),0) as TOTALLOJA from ASSOCIADOS3 a, CONTACORRENTE3 c where c.inscricao = a.inscricao and a.cpfcnpj ='"&CPFCNPJ&"' and c.sinal='C' GROUP BY c.inscricao"
RS.Open SQL,Conn,3,3

if RS("CPFCNPJ") <> DOCORIGINAL then

response.write ("<span class=""fonte_vermelha"">O CPF OU CNPJ DIGITADO NÃO CORRESPONDE AO MESMO DO SEU CADASTRO. CASO ESTEJA TENTANDO EFETUAR UMA PESQUISA DE CPF OU CNPJ QUE NÃO SEJA IGUAL AO DA SUA CONTA PRINCIPAL, POR FAVOR SAIA DA SUA ÁREA DE ASSOCIADO E ENTRE NOVAMENTE COM O LOGIN DA LOJA QUE PRETENDE PESQUISAR.</span>")

else
%>
<link href="../css/estilo_painel.css" rel="stylesheet" type="text/css" />
<link href="../css/estilo_site.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
body {
	background-color: #c9bfbc;
}
-->
</style>
<table width="100%" border="0" cellspacing="10" cellpadding="5">
  <tr>
	<td height="20" align="center" class="tabelaTituloCarrinho">NOME</td>
	<td height="20" align="center" class="tabelaTituloCarrinho">LOGIN</td>
	<td height="20" align="center" class="tabelaTituloCarrinho">TOTAL DA LOJA</td>
  </tr>

<%
Do until rs.EOF

INSCRICAOASSOCIADO = RS("INSCRICAO")
DOCUMENTO = RS("CPFCNPJ")
NOME = RS("NOME")
TOTALLOJA = RS("TOTALLOJA")
Cor = not Cor


Set RSDESC = Server.CreateObject("adodb.recordset")
'SQL = "select * from ASSOCIADOS3 where cpfcnpj='"&CPFCNPJ&"'" 
DESC = "select coalesce(sum(valor),0) as TOTALDESC from CONTACORRENTE3 where inscricao ='"&INSCRICAOASSOCIADO&"' and sinal='D'"
RSDESC.Open DESC,Conn,3,3

VALORDESC = RSDESC("TOTALDESC")

VALORLIQ = TOTALLOJA - VALORDESC

TOTALGERAL = TOTALPARCIAL - VALORLIQ

%> 

  <tr bgcolor="#e1e2e3" height="20">
	<td align="left" class="fonte_global_preta12"><%=NOME%></td>
	<td align="left" class="fonte_global_preta12"><%=INSCRICAOASSOCIADO%></td>
	<td align="right" class="fonte_global_preta12"><%=formatcurrency(VALORLIQ)%></td>
 <%
rs.movenext
loop
rs.Close
Set rs = Nothing
end if
end if
%> </tr>
</table>

Ex dos dados listados: (lembrando que apesar de aparecerem nomes diferentes todos foram cadastrados com o mesmo CPF, não me pergunte porque, hehehe

 

JACINTO HENZ R$ 72,00

JACINTO HENZ R$ 18,00

JACINTO HENZ R$ 991,80

JACINTO HENZ R$ 36,00

ASSIS FRANCISCO RIBEIRO R$ 18,00

ANTONIO CARLOS GONÇALVES R$ 237,60

OLIMPIO FIAMINGHI R$ 18,00

OLIMPIO FIAMINGHI R$ 73,80

---------------------------------------

TOTAL DE GANHOS: R$ <--------aqui que eu quero colocar o total de todos estes valores listados

Compartilhar este post


Link para o post
Compartilhar em outros sites

jonathandj, pelo que entendi o total é a SOMA de tudo.

 

Se for isso mesmo, utilize SUM ao invés de COUNT.

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado pessoal pela resposta, na verdade se notarem já tenho um SUM no primeiro select

 

select a.nome, a.inscricao, a.cpfcnpj, coalesce(sum(c.valor),0) as TOTALLOJA from ASSOCIADOS3 a, CONTACORRENTE3 c where c.inscricao = a.inscricao and a.cpfcnpj ='"&CPFCNPJ&"' and c.sinal='C' GROUP BY c.inscricao

 

porem neste select ele esta trazendo a listagem completa de todos os associados que tenham a inscrição igual nas 2 tabelas e que o cpf ou cnpj deles também estejam presentes na tabela de associados, conforme o select ai eu tenho o total de cada loja do cliente, porem agora quero pegar esta listagem com o valor individual de cada loja que já foi listado e dar um total no final, para que o associado veja quanto já ganhou na empresa no geral.

Acho que o SUM não esta funcionando corretamente porque devo estar fazendo alguma lógica errada para esta soma, mas não achei ainda aonde esta o erro, no forum de MYSQL me foi dada a seguinte ideia

 

select a.nome, a.inscricao, a.cpfcnpj, coalesce(sum(c.valor),0) as TOTALLOJA from ASSOCIADOS3 a, CONTACORRENTE3 c where c.inscricao = a.inscricao and a.cpfcnpj ='"&CPFCNPJ&"'and c.sinal='C' GROUP BY c.inscricao with rollup

usar um with rollup para ele somar no final, porem agora estou aqui vendo como imprimo este valor na tela, uma vez que nesta forma ele traz um nova linha somente com o total onde inclusive esta nova linha é nomeada com o mesmo nome do penutimo resgistro listado no select

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguinte, consegui fazendo uma mudança simples no select

 

SQL = "select a.nome, a.inscricao, a.cpfcnpj, coalesce(sum(c.valor),0) as TOTALLOJAC from ASSOCIADOS3 a, CONTACORRENTE3 c where c.inscricao = a.inscricao and a.cpfcnpj ='"&CPFCNPJ&"' and c.sinal='C' GROUP BY a.cpfcnpj with rollup"

mudei o GROUP BY do select para agrupar por CPFCNPJ tendo em vista que sempre serão os mesmo dentro do select, eu tava comendo bola, uma coisa simples de nada para mudar e as vezes agente não encherga, hehehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.