none
Select com IF RRS feed

  • Pergunta

  • Eu estou fazendo um INNER JOIN da Tabela Combo com a Tabela Combo Produto como mostro abaixo...

    SELECT        C.SchoolID, C.ComboID, P.Active, P.Name, P.ProductID
    FROM            sales.Combo AS C INNER JOIN
                             commons.Stock AS S ON C.SchoolID = S.SchoolID AND C.ProductID = S.ProductID INNER JOIN
                             commons.Product AS P ON C.SchoolID = P.SchoolID AND C.ProductID = P.ProductID
    WHERE        (C.SchoolID = 4501)

    Ela me retorna por exemplo os seguintes valores:

    _____________________________________

    SchoolID___|ComboID___|Active___|Produto

    01________|01________|True____|01

    01________|01________|False___|02

    01________|02________|True____|01

    01________|02________|True____|05

    Eu estou tentando modificar essa minha Query para que se 1 dos produtos do Combo estiver como Active = False ele não selecione o ComboID que tenha esse produto = false

    Eu tentei usar o IF mas não obtive sucesso...

    Tks...

    quarta-feira, 16 de abril de 2014 16:53

Respostas

  • Consegui assim...

    SELECT C.SchoolID, C.ComboID, P.Active, P.Name, P.ProductID
        FROM sales.Combo AS C
        INNER JOIN commons.Stock AS S ON C.SchoolID = S.SchoolID AND C.ProductID = S.ProductID 
        INNER JOIN commons.Product AS P ON C.SchoolID = P.SchoolID AND C.ProductID = P.ProductID
        WHERE        (C.SchoolID = 01) 
         AND C.COMBOID NOT IN (SELECT DISTINCT C.COMBOID FROM sales.Combo AS C
         INNER JOIN commons.Stock AS S ON C.SchoolID = S.SchoolID AND C.ProductID =  S.ProductID
         INNER JOIN commons.Product AS P ON C.SchoolID = P.SchoolID AND C.ProductID = P.ProductID
         WHERE (C.SchoolID = 01) AND (P.ACTIVE = FALSE))

    Vlw...

    quarta-feira, 16 de abril de 2014 17:30