Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
duduml

Dúvida com SUM [RESOLVIDO]

Recommended Posts

duduml

Bom dia!

Tendo uma tabela com os campos: codigopeca, quantidade, data, hora

Qual a consulta para somar a quantidade quando o codigopeca e a data são iguais, e a hora esta entra hora de inicio de hora de fim

SELECT codigopeca,SUM(quantidade),data
FROM produtos
WHERE codigopeca = codigopeca AND data = hoje AND data >= agora AND data <= depois

Pelas pesquisas que fiz, deveria ser algo assim...mas dá erro...

Já agora, vale a pena informar que a consulta é para PostGreSQL...

Obrigado desde já a quem ajudar :)

Cumprimentos

EDIT:  o problema é que não me deixa seleccionar mais campos quando faço o SUM

ou seja, permite isto:

SELECT SUM(quantidade) as quantidade
FROM produtos
WHERE codigopeca = codigopeca AND data >= '1-3-2010' AND data <= '2-6-2010';

Mas não permite isto:

SELECT SUM(quantidade) as quantidade, codigopeca
FROM produtos
WHERE codigopeca = codigopeca AND data >= '1-3-2010' AND data <= '2-6-2010';

alguém me ajuda??  :)


"use windows, você merece!"

Share this post


Link to post
Share on other sites
duduml

Penso que resolvi!

SELECT ( SELECT SUM(quantidade) as Quantidade FROM produtos),codigopeca
FROM produtos
WHERE codigopeca = codigopeca AND data >= '1-3-2010' AND data <= '2-6-2010';

já venho confirmar se funciona no programa e marco como resolvido...:)


"use windows, você merece!"

Share this post


Link to post
Share on other sites
duduml

Pessoal, infelizmente....não dá certo! :S

Ele esta a apresentar o valor da soma de tudo...e em todas as linhas...:S porquê??

instrução:

SELECT DISTINCT codigopeca,data,(SELECT SUM(quantidade) as quantidade FROM produtos WHERE codigopeca = codigopeca AND data <= '" _
        & di_DateTimePicker1.Value & "') FROM produtos ORDER BY codigopeca

cumps...


"use windows, você merece!"

Share this post


Link to post
Share on other sites
duduml

Como assim? :S

Não percebi muito bem...podes dar um exemplo??

Obrigado desde já pela resposta  ;)


"use windows, você merece!"

Share this post


Link to post
Share on other sites
renafi

o que tu queres é a soma das quantidades de cada peça, certo?

Então, a partir do momento que usas uma função de agregação (no teu caso SUM), e queres seleccionar outra coluna, vais ter de dizer para fazer um agrupamento por essa coluna.

Ex:

select sum(coluna1), coluna2

from tabela

group by coluna2


Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist

Share this post


Link to post
Share on other sites
duduml

Pessoal,

obrigado a todos pelas respostas, foram todas muito úteis...mas, já havia resolvido a questão...

Não tinha dito ainda nada, porque dava erro e não me deixava responder...:S Entretanto, o problema foi resolvido...

o código:

SELECT codigopeca,data, SUM(quantidade) as quantidade 
FROM produtos,registos,turnos WHERE produtos.hora > turnos.horainicio AND produtos.hora < turnos.horafim AND turnos.numeroturno = '" & turnoComboBox1.Text & "' AND produtos.codigopeca = registos.codigopeca AND numero = '" & pessoaComboBox1.Text & "' 
GROUP BY produtos.codigopeca,produtos.data 
ORDER BY registos.codigopeca

Obrigado a todos!

CUMPS


"use windows, você merece!"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.