locked
Query COM DATAS RRS feed

  • 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

    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

    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.


    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:32
    Moderador
  • 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:15
    Moderador