none
Query com condição RRS feed

  • Pergunta

  • Boa Tarde a todos.

    Preciso montar uma query com a seguinte condição.

    Eu tenho que retornar somente 1 e-mail respeitando o cod_tipo_envio. A prioridade é 1,2 e 3. 

    Ex: Drogaria Alves tem 1, 2 e 3. Nesse caso retorna somente o 1.

    Drogaria do zé tem somente o 2 que nesse caso irá retornar o 2.

    Drogaria Paga bem retorna somente o 2.

    Ou seja, tem que retornar somente um e-mail sempre o menor cod_tipo_envio.

    Ficou claro ?


    segunda-feira, 26 de novembro de 2018 19:55

Respostas

Todas as Respostas

  • Usa o Case

    https://docs.microsoft.com/pt-br/sql/t-sql/language-elements/case-transact-sql?view=sql-server-2017

    segunda-feira, 26 de novembro de 2018 19:56
  • Boa noite,

    Marcos, experimente mais ou menos dessa forma:

    with CTE_RN as
    (
        select
            *,
            row_number() over(partition by cod_entidade order by cod_tipo_envio) as RN
        from Tabela
    )
    
    select * from CTE_RN
    where RN = 1

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    segunda-feira, 26 de novembro de 2018 22:21
  • Marcos,

    Não seria o caso então de identificar para cada Drogaria o nível mais alto de importância e de acordo com este nível realizar o envio do e-mail com base no e-mail cadastrado?


    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]

    quarta-feira, 28 de novembro de 2018 10:54
  • Olá Marcos,

    Precisas trabalhar com subquerys, na tua subquery vais agrupar os mail por cod_tipo_envio  para poderes retornar somente 1, poderás ter uma coluna para fazer o count só para poder te permitir trazer 1 mail por cada cod_tipo_envio.

    Se tiveres dificuldades com isto diz alguma coisa.

    Cpts

    sexta-feira, 30 de novembro de 2018 12:22