Ir para conteúdo

POWERED BY:

Arquivado

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

Gutoo

Ranking Acumulado

Recommended Posts

Olá amigos,

Novamente venho aqui pedir ajuda para esse Ranking que preciso fazer e pra piorar tenho que terminar hoje!

 

Tenho o seguinte problema:

 

Exemplo:

 

Nome | Vendas | Positivacao | Mes

Usuário1 | 50 | 30 | 9

Usuário2 | 70 | 20 | 9

Usuário1 | 50 | 30 | 10

Usuário1 | 50 | 30 | 11

 

Preciso fazer um SELECT na tabela tab_ParciaisMensais onde nessa tabela existem até 3 registros de um mesmo usuário onde são mudados os números de Vendas, Positivação e Mês.

Tenho que fazer com o que o sistema Some o valores desse usuário que apareceu 3x e exiba somente o resultado da soma do 3 registros de vendas, 3 registros de positivação e ainda faça a multiplicação de finalVendas e finalPositivacao para dar a pontuação final.

 

Só que a pessoa deve aparecer somente 1x nessa tabela mostrando os resultados da soma desses 3 registros.

É possível isso acontecer?

 

Bem complicado isso =/

 

Agradeço a ajuda de todos.

 

Obrigado.

Guto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem como sim através do Select SumSelect Sum (campo) from tabela where autonumerico = "& var_autonumericoqualquer dúvida poste!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala CustellinhaCara fiz como você falou, mas eu preciso selecionar na tabelam o campo com o nome do usuário e não consigo.Da uma olhada no meu SELECT, ele faz a ordem também para poder deixar quem tem maior número no topo da lista.SQL = "SELECT Sum (vendas), Sum (positivacao), nome, mes, id_usuario FROM tab_ParciaisMensais Order By (vendas * positivacao) DESC"Só que ele da um erro estranho... veja:Microsoft OLE DB Provider for SQL Server error '80040e14'Column 'tab_ParciaisMensais.nome' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause./vendas/ranking/default.asp, line 126 Eu queria entender por que ta dando problema com o campo nome?O campo nome é do tipo "nvarchar".ValewwwGuto

Compartilhar este post


Link para o post
Compartilhar em outros sites

sua sql está totalmente fora dos padrões...

 

se quer somar dois valores faça em sql's diferentes...

 

ASP
'Soma a positivação

Set SomaPositivacao = ariavelconexao.execute"SELECT Sum (positivacao) as Soma From tab_parciaismensais where id_usuario = "& variavel de identificacao do usuario)

'Soma as vendas

Set SomaVendas = variavelconexao.execute("Select Sum (vendas) as Soma from tab_parciaismensais where id_usuario = "& variavel de identificacao do usuario)

 

depois você faz a operação matemática desejada...

vendas = SomaVendas("soma")

positivacao = SomaPositivacao("soma")

resultado = vendas * positivacao

 

response.write resultado

 

fiz isso aqui de olho, qualquer erro e/ou dúvida poste!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Custellinha, Funcionou legal o código ake, só tem um problema.Não tem como eu passar o ID do usuário, pois ele ficaria em uma listagem na tabela.Eu preciso que ele reconheça os usuário ali cadastrados e acumule os valores de vendas e positivação.Não tenho valor do ID para passar no Where que você fez aqui pra mim.Tentei de todas as maneiras fazer com que o usuário fosse somado, e nada.E precisaria listar todos os outros registros nessa tabela, fazendo uma repetição do dados.Está difícil cara, muito complicado =/Abraço, Guto

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que ter algum registro exclusivo no banco de dados que identifique o usuário que será exibido!depois você faz um where básico!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Custellinha,

Eu fiz aqui e deu certo.

 

ASP
IdUsuario = Request.QueryString("id")

 

        'Soma a positivação

        Set SomaPositivacao = Conexao.execute("SELECT Sum (positivacao) as Soma From tab_ParciaisMensais where id_usuario = '"& IdUsuario &"'")

        'Soma as vendas

        Set SomaVendas = Conexao.execute("Select Sum (vendas) as Soma from tab_ParciaisMensais where id_usuario = "& IdUsuario &"")

 

Só que agora o problema é fazer o SELECT pegando o ID

Pois preciso fazer a listagem de todos os usuários, então eu acho que terei de relacionar as tabelas.

 

Ai meu código ficou assim:

 

ASP
IdUsuario = Request.QueryString("id")

 

        'Soma a positivação

        Set SomaPositivacao = Conexao.execute("SELECT Sum (positivacao) as Soma From tab_ParciaisMensais where id_usuario = '"& IdUsuario &"'")

        'Soma as vendas

        Set SomaVendas = Conexao.execute("Select Sum (vendas) as Soma from tab_ParciaisMensais where id_usuario = "& IdUsuario &"")

       

        SQL = "SELECT * FROM tab_ParciaisMensais Where id_usuario = '" & idUsuario1 & "' Order By (vendas * positivacao) DESC"

       

        set rsRanking = Conn.execute(SQL)

 

Cara desculpa ficar te enchendo com isso, mas me pediram algo que eu nunca tinha feito e preciso entregar essa semana sem falta. =/

 

Bom... esse código acima foi o que eu tentei fazer, mas ele não recebe o ID da Soma, e eu não posso fazer ele pegar o ID da QueryString.

Preciso que ele reconheça a sequência e atribua os valores ao respectivo usuário.

 

Valewww Dom

Abraço

Guto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lista normalmente os usuários com a sql básica!no link do usuario você pega o id do cara no bd...no caso ai id_usuarioqualquer dúvida posta ai!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu novamente pedindo ajuda sobre este problema! =/

 

Preciso fazer a listagem dos resultados sem ter que clicar no usuário.

Ele tem que calcular e atribuir aos usuários da lista.

 

O modelo da tabela:

 

Imagem Postada

 

Abraço,

Guto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Falaa Custellinha,

Cara eu pesquisei e consegui fazer assim:

 

ASP
SQL = "select top 5 sum(tab_ParciaisMensais.vendas) as cont, sum(tab_ParciaisMensais.positivacao) as cont1, tab_ParciaisMensais.nome from tab_ParciaisMensais inner join tab_Usuarios on tab_Usuarios.id=tab_ParciaisMensais.id_usuario group by tab_ParciaisMensais.nome order by sum(tab_ParciaisMensais.vendas*tab_ParciaisMensais.positivacao) DESC"

 

Agradeço pela dica.

 

Abraçoo,

Guto.

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.