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.
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.