Jump to content
Fórum Script Brasil
  • 0

Procedure com erro


Question

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 ;

A chamada da procedure fica assim

call produtos_agrupados('2020-01-01','2020-03-09')

Cria a procedure mais não retorna nada.

 

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.

Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

então onde fica o erro?

O erro está justamente no momento de como passar o valor da data para o parametro dentro da select.

DATEDIFF(dtf,dti) as qtd_dias
DATEDIFF('2020-03-09','2020-01-01') as qtd_dias

 

Abraço

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148691
    • Total Posts
      644530
×
×
  • Create New...