none
evitar union RRS feed

  • Pergunta

  • PRECISO FAZER UM SELECT PARA EVITAR UM UNION.

    É O SEGUINTE: EU TENHO UM CADASTRO DE PRODUTO ONDE NA TABELA EXISTE UMA COLUNA CHAMADA FLAG. A COLUNA IDENTIFICA OS PRODUTOS QUE FAZ PARTE DO GRUPO. O VALOR DELA É 1

    HOJE JÁ EXISTE UM SELECT QUE EU FIZ QUE TRAZ TODOS OS PRODUTOS ONDE AS DATAS DE VENCIMENTOS SÃO MAIORES QUE UMA DATA INFORMADA COMO PARAMETRO. OU SEJA, ELAS NÃO PERTENCEM AO GRUPO QUE MENCIONEI ACIMA.

    SÓ QUE EXISTEM ALGUNS PRODUTOS QUE POSSUEM A DATA DE VALIDADE MAIOR QUE A DATA PASSADA COMO PARAMETRO, PORÉM, ESSES MESMOS PRODUTOS POSSUEM A COLUNA FLAG IGUAL A 1. OU SEJA FAZ PARTE DO GRUPO.

    O QUE EU PRECISO É TRAZER OS PRODUTOS DO SELECT JÁ EXISTENTE (VALIDADE MAIOR QUE A DATA DO PARAMETRO) E TRAZER OS PRODUTOS QUE TEM ESSA VALIDADE MAIOR QUE O PARAMETRO, PORÉM, ONDE A COLUNA FLAG SEJA IGUAL 1.


    EXEMPLO: SELECT JÁ EXISTENTE:

    PRODUTO
    CHOCOLATE 1
    CHOCOLATE 2
    CHOCOLATE 3

    EXEMPLO DOS PRODUTOS COM VALIDADE MAIOR E COM A FLAG IGUAL 1.

    PRODUTO
    CHOCOLATE BRANCO 1
    CHOCOLATE BRANCO 2
    CHOCOLATE BRANCO 3

    SIMPLIFICANDO: PRECISO NO SELECT JÁ EXISTENTE DO PRIMEIRO EXEMPLO, COLOCAR TAMBÉM OS PRODUTOS QUE TEM VALIDADE MAIOR E FLAG IGUAL 1.

    POR QUE SE EU FIZER SELECT * FROM PRODUTOS WHERE DATA > @DATA_PARAMETRO AND FLAG = 1 ME TRAZ SOMENTE OS PRODUTOS COM VALOR DA FLAG = 1. OU SEJA, SÓ OS CHOCOLATES BRANCOS. PRECISO NA MESMA QUERY TRAZER OS CHOCOLATES BRANCOS MAIS OS OUTROS QUE JÁ ESTAVAM TRAZENDO (EXEMPLO1)

    sexta-feira, 1 de março de 2013 17:58

Respostas