Usuário com melhor resposta
Query COM DATAS

Pergunta
-
Preciso criar uma query aonde é retornado os produtos que não tiveram venda em 45 dias. Segue query:
select * from produto_venda vend
where vend.data <= CAST(CURRENT_TIMESTAMP - 45 AS DATE)
O resultado fica gigantesco porque a tabela tem vários produtos que não foram vendidos. Essa tabela registra produto por produto, ou seja, o produto dorflex teve venda dia 2,6,9,12,19,20,25 de vários meses de vários anos.
Como que eu faço na minha query para retornar somente a ultima venda do produto e que tenha + de 45 dias?
quinta-feira, 7 de abril de 2016 17:09
Respostas
-
Boa tarde,
Considerando que exista uma tabela de produtos no banco de dados, experimente mais ou menos dessa forma:
select vend.* from produto pro cross apply ( select top(1) vend.* from produto_venda vend where vend.IdProduto = pro.IdProduto order by vend.data desc ) as vend where vend.data <= CAST(CURRENT_TIMESTAMP - 45 AS DATE)
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 5 de junho de 2018 12:15
quinta-feira, 7 de abril de 2016 17:23
Todas as Respostas
-
Boa tarde,
Considerando que exista uma tabela de produtos no banco de dados, experimente mais ou menos dessa forma:
select vend.* from produto pro cross apply ( select top(1) vend.* from produto_venda vend where vend.IdProduto = pro.IdProduto order by vend.data desc ) as vend where vend.data <= CAST(CURRENT_TIMESTAMP - 45 AS DATE)
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 5 de junho de 2018 12:15
quinta-feira, 7 de abril de 2016 17:23 -
SELECT produto FROM tabela GROUP BY produto HAVING DATEDIFF(DAY, MAX(Data), GETDATE()) >= 45
Att,
Antero Marques
___________________________________________________________________________
Se a resposta for útil, marque como útil, se respondeu totalmente sua dúvida, marque como resposta.
O Fórum MSDN é utilizado também como base de conhecimento, então é responsabilidade de todos mantê-lo organizado e funcional.
- Editado Antero Marques quinta-feira, 7 de abril de 2016 17:30
quinta-feira, 7 de abril de 2016 17:30 -
Marcos,
Existe nesta tabela algum campo que armazene a data da venda e também o status da venda do produto?
Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
terça-feira, 12 de abril de 2016 12:32Moderador -
Este post foi encerrado por falta de resposta.
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
terça-feira, 5 de junho de 2018 12:15Moderador