Pular para o conteúdo
  • Este tópico contém 4 respostas, 3 vozes e foi atualizado pela última vez 15 anos atrás por augustoca.
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #98499
    augustoca
    Participante

      Olá pessoal,
      Estou com o seguinte problema. Minhas pessoas podem estar associadas a várias classes. Por exemplo, pessoa A (classe 1, classe 2, classe 3).

      O que preciso é selecionar todas pessoas que estejam na classe 1 e classe 2, porém destas pessoas eu quero que as da classe 3 não sejam selecionada.

      Ou seja
      Pessoa A (Classe: 1,2,3)
      Pessoa B (Classe: 1,2,5)
      Pessoa C (Classe: 1,2,10)

      Nesse caso só a pessoa B e C seriam selecionadas. Estou utilizando o Exists e esta ficando dessa maneira


      AND EXISTS(SELECT NCODIENTI
      FROM TCHE_DIAGRO.CFGCLEN
      WHERE CFGCLEN.NCODIENTI = CFGENTI.NCODIENTI
      AND NCODICLAS IN (1,2))

      AND NOT EXISTS(SELECT NCODIENTI
      FROM TCHE_DIAGRO.CFGCLEN
      WHERE CFGCLEN.NCODIENTI = CFGENTI.NCODIENTI
      AND NCODICLAS IN (3))

      Alguém me sugere algo?

      #98504
      Avatar photoLeonardo Litz
      Participante

        Olá augustoca

        Da forma que vc postou, não funcionou?? Qual o problema em utilizar o exists e o not exists?

        Valeu Leonardo Litz.

        #98506
        burga
        Participante

          No caso você deve por 3 EXISTS, 1 pra cada classe, senão ele faz um OR pras classes 1 e 2:

          AND EXISTS(SELECT NCODIENTI
          FROM TCHE_DIAGRO.CFGCLEN
          WHERE CFGCLEN.NCODIENTI = CFGENTI.NCODIENTI
          AND NCODICLAS = 1)
          AND EXISTS(SELECT NCODIENTI
          FROM TCHE_DIAGRO.CFGCLEN
          WHERE CFGCLEN.NCODIENTI = CFGENTI.NCODIENTI
          AND NCODICLAS = 2)
          AND NOT EXISTS(SELECT NCODIENTI
          FROM TCHE_DIAGRO.CFGCLEN
          WHERE CFGCLEN.NCODIENTI = CFGENTI.NCODIENTI
          AND NCODICLAS IN (3))

          #98526
          augustoca
          Participante

            [quote=”Litz”:2j6h4lg3]Olá augustoca

            Da forma que vc postou, não funcionou?? Qual o problema em utilizar o exists e o not exists?

            Valeu Leonardo Litz.[/quote]

            Opa obrigado pelas respostas.

            Litz, funcionou sim. Vi só agora sua resposta… mas fiz dessa forma mesmo.
            De qualquer forma agradeço.

            Abraço

            #98527
            augustoca
            Participante

              [quote=”Litz”:2tjbrpwm]Olá augustoca

              Da forma que vc postou, não funcionou?? Qual o problema em utilizar o exists e o not exists?

              Valeu Leonardo Litz.[/quote]

              Opa obrigado pelas respostas.

              Litz, funcionou sim. Vi só agora sua resposta… mas fiz dessa forma mesmo.
              De qualquer forma agradeço.

              Abraço

            Visualizando 5 posts - 1 até 5 (de 5 do total)
            • Você deve fazer login para responder a este tópico.