Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

duduml

Dúvida com SUM [RESOLVIDO]

Mensagens Recomendadas

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!"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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!"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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!"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
duduml

Como assim? :S

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

Obrigado desde já pela resposta  ;)


"use windows, você merece!"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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!"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.