Boa noite, estou tentando fazer uma procedure em MySql com duas variáveis de entrada um com data inicial e outra com data final de acordo com o código abaixo
delimiter //
CREATE PROCEDURE produtos_agrupados(dti TIMESTAMP, dtf TIMESTAMP)BEGIN
declare dti TIMESTAMP;
declare dtf TIMESTAMP;
SELECT tbcadproduto.PRODUTONOME,
sum(tbcadpedido.QTD)as total,
DATEDIFF(dtf,dti)as qtd_dias
FROM tbcadpedido
INNER JOIN tbcadproduto ON tbcadpedido.IDPRODUTO = tbcadproduto.ID
INNER JOIN tbcadunidade ON tbcadpedido.IDUNIDADE = tbcadunidade.id
where(tbcadpedido.DATAENTREGA BETWEEN dti and dtf)
GROUP BY tbcadproduto.PRODUTONOME
order by tbcadproduto.PRODUTONOME;end//
delimiter ;
Mais o select se eu fizer assim como está abaixo, retorna o que eu quero.
SELECT tbcadproduto.PRODUTONOME,
sum(tbcadpedido.QTD)as total,
DATEDIFF('2020-03-09','2020-01-01')as qtd_dias
FROM tbcadpedido
INNER JOIN tbcadproduto ON tbcadpedido.IDPRODUTO = tbcadproduto.ID
INNER JOIN tbcadunidade ON tbcadpedido.IDUNIDADE = tbcadunidade.id
where(tbcadpedido.DATAENTREGA BETWEEN '2020-01-01'and'2020-03-09')
GROUP BY tbcadproduto.PRODUTONOME
order by tbcadproduto.PRODUTONOME;
então onde fica o erro?
Ainda quero que a total seja dividido pela qtd_dias pra ver tipo uma média, se puderem me ajudar eu agradeço.
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
Pergunta
Jeová Oliveira
Boa noite, estou tentando fazer uma procedure em MySql com duas variáveis de entrada um com data inicial e outra com data final de acordo com o código abaixo
A chamada da procedure fica assim
Cria a procedure mais não retorna nada.
Mais o select se eu fizer assim como está abaixo, retorna o que eu quero.
então onde fica o erro?
Ainda quero que a total seja dividido pela qtd_dias pra ver tipo uma média, se puderem me ajudar eu agradeço.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.