FAZER UM SLECT SUM E ORDENAR POR GRUPO
Boa noite pessoal!
Estava quebrando a cabeça aqui e não consegui resolver, preciso fazer um SELECT SUM e ordenar pelo código. Deixa eu explicar...
Tenho uma tabela com vários CÓDIGOS que se repetem, e a frente de cada um o campo NECESSIDADE e ENTREGOU, o que eu preciso?
Tabela
------------------------------------------------------
Código Necessidade Entregou
1 100 50
2 200 100
1 100 50
e preciso que retorne os valores para eu colocar em um grid assim...
Código Necessidade Entregou
1 200 100
2 200 100
Ou seja, somar, e agrupar por código.
Eu estava vendo algumas coisas na net sobre SLECT SUM ORDER BY GROUP, mas confundiu ainda mais...
se alguém puder ajudar ficarei agradecido, um muito obrigado.
Abraços.
Estava quebrando a cabeça aqui e não consegui resolver, preciso fazer um SELECT SUM e ordenar pelo código. Deixa eu explicar...
Tenho uma tabela com vários CÓDIGOS que se repetem, e a frente de cada um o campo NECESSIDADE e ENTREGOU, o que eu preciso?
Tabela
------------------------------------------------------
Código Necessidade Entregou
1 100 50
2 200 100
1 100 50
e preciso que retorne os valores para eu colocar em um grid assim...
Código Necessidade Entregou
1 200 100
2 200 100
Ou seja, somar, e agrupar por código.
Eu estava vendo algumas coisas na net sobre SLECT SUM ORDER BY GROUP, mas confundiu ainda mais...
se alguém puder ajudar ficarei agradecido, um muito obrigado.
Abraços.
Select Codigo, Sum(Necessidade) as Necessidade, Sum(Entregou) as Entregou From Tabela Group By Codigo, Necessidade, Entregou
Obrigado pela resposta!
Eu ainda estou iniciando e entendi o select, mas depois, como seria pra eu pegar o resultado?
Eu tentei assim, mas não resultou nada...
Eu ainda estou iniciando e entendi o select, mas depois, como seria pra eu pegar o resultado?
Eu tentei assim, mas não resultou nada...
sSQL = [Ô]Select codprod, Sum(necessidade), Sum(entregou) From tabtempprodfaltantes Group By codprod, necessidade, entregou[Ô]
Set rs = Conexao.Execute(sSQL)
NomearGrid
Do While Not rs.EOF = True
gridfaltantes.AddItem [Ô][Ô] & vbTab & rs!codprod & vbTab & rs!necessidade & vbTab & rs!entregou
rs.MoveNext
Loop
Faltou colocar um apelido para os campos. Tente assim:
sSQL = [Ô]Select codprod, Sum(Necessidade) [txt-color=#e80000]as necessidade[/txt-color], Sum(Entregou) [txt-color=#e80000]as entregou[/txt-color] From tabtempprodfaltantes Group By codprod, necessidade, entregou[Ô]
Set rs = Conexao.Execute(sSQL)
NomearGrid
Do While Not rs.EOF = True
gridfaltantes.AddItem [Ô][Ô] & vbTab & rs!codprod & vbTab & rs!necessidade & vbTab & rs!entregou
rs.MoveNext
Loop
Deu certo...
Só fiz uma modificação ali na Group By...
Valeu pela ajuda..
Abraços!!!
Só fiz uma modificação ali na Group By...
sSQL = [Ô]Select codprod, Sum(necessidade) as necessidade, Sum(entregou) as entregou From tabtempprodfaltantes Group By codprod[Ô]
Set rs = Conexao.Execute(sSQL)
Do While Not rs.EOF = True
sSQL = [Ô]SELECT * FROM tabcadmateriais WHERE codmaterial = [ô][Ô] & rs!codprod & [Ô][ô][Ô]
Set rs1 = Conexao.Execute(sSQL)
gridfaltantes.AddItem [Ô][Ô] & vbTab & rs!codprod & vbTab & rs1!nomematerial & vbTab & Format(rs!necessidade, [Ô]0.000[Ô]) & vbTab & Format(rs!entregou, [Ô]0.000[Ô]) & vbTab & Format(rs!necessidade - rs!entregou, [Ô]0.000[Ô])
rs.MoveNext
Loop
Valeu pela ajuda..
Abraços!!!
Não deixe de encerrar o tópico. Vlw
A sim, sem problemas, só vou ver o código melhor depois, pois alguns valores deram negativos, achei estranho, mas por hoje chega, hehe.
Amanhã verifico, até agora, um muito obrigado.
Boa noite.
Amanhã verifico, até agora, um muito obrigado.
Boa noite.
Tópico encerrado , respostas não são mais permitidas