Pular para o conteúdo
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #88854
    Miro
    Participante

      Ola, preciso de u ❓ ma ajuda para um script ❓

      tenho duas tabelas que se relacionam com 3 campos, na tabela A tenho informações cadastradas, mas na tabela B nao tenho, quando faço uma consulta onde preciso relacionar as duas nao lista nada pois na tabela B esta vazia, como posso listar mesmo sem informações na tabela B

      segue exemplo ➡

      select a.numcad, b.codcon
      from tabela.a, tabela.b
      and a.numemp = b.numemp
      and a.tipcol = b.tipcol
      and a.numcad = b.numcad

      #88857
      ramasine
      Participante

        Olá Miro,

        Qual a versão do seu banco de dados!
        No teu caso e se entendi bem a sua questão tú precisarás de um OUTER JOIN entre as tabelas!!
        Mas dependendo da versão, muda a sintaxe de como montar o outer!

        Abs

        Marcelo

        #88859
        Avatar photoLeonardo Litz
        Participante

          Faça assim, utilize um left join

          select a.numcad, b.codcon
          from tabela.a, tabela.b
          and a.numemp = b.numemp(+)
          and a.tipcol = b.tipcol(+)
          and a.numcad = b.numcad(+)

          Vlw Leonardo Litz

          #88860
          Manoel872
          Participante

            select a.numcad, b.codcon
            from tabela.a, tabela.b
            and a.numemp = b.numemp(+)
            and a.tipcol = b.tipcol(+)
            and a.numcad = b.numcad(+)

            Utilize o outer join para que traga tudo que existe na tabela mesmo se não existe na tabela B.

            #88889
            Miro
            Participante

              nao estou conseguindo fazer dentro de uma sub-consulta segue o script

              select *
              FROM
              R034FUN,
              R010SIT,
              R034CON,
              r016orn,
              r030emp

                    WHERE r034fun.numemp IN (1,2,5) AND
                          R034FUN.TIPCOL = 1
                          and r034fun.numcad = 3
                          and r034con.numemp = r034fun.numemp
                          and r034con.tipcol = r034fun.tipcol
                          and r034con.numcad = r034fun.numcad 
                          and r034fun.numemp = r030emp.numemp
                          and r034fun.taborg = r016orn.taborg
                          and r034fun.numloc = r016orn.numloc
                          and
              
              R034FUN.SITAFA = R010SIT.CODSIT AND
              
              R034FUN.DATADM <= ('&data') AND 
              
                   EXISTS(SELECT 1 FROM R038HFI 
                         WHERE R038HFI.NUMEMP = R034FUN.NUMEMP AND 
                               R038HFI.TIPCOL = R034FUN.TIPCOL AND 
                               R038HFI.NUMCAD = R034FUN.NUMCAD AND 
                               R038HFI.DATALT <= ('&data')) AND 
              
                               R034CON.DATALT = (SELECT MAX (DATALT) 
                                      FROM R034CON TABELA001
                                         WHERE TABELA001.NUMEMP = R034CON.NUMEMP(+) AND 
                                               TABELA001.TIPCOL = R034CON.TIPCOL(+) AND 
                                               TABELA001.NUMCAD = R034CON.NUMCAD(+) AND 
                                               TABELA001.DATALT <= ('&data')) AND 
              
                   NOT EXISTS (SELECT 1 FROM R038AFA 
                         WHERE R038AFA.NUMEMP = R034FUN.NUMEMP AND 
                               R038AFA.TIPCOL = R034FUN.TIPCOL AND 
                               R038AFA.NUMCAD = R034FUN.NUMCAD AND 
                               R038AFA.DATAFA = (SELECT MAX(R038AFA.DATAFA) 
                                      FROM R038AFA, R010SIT 
                                         WHERE R038AFA.NUMEMP = R034FUN.NUMEMP AND 
                                               R038AFA.TIPCOL = R034FUN.TIPCOL AND 
                                               R038AFA.NUMCAD = R034FUN.NUMCAD AND 
                                               R038AFA.DATAFA <= ('&data') AND 
                                               R038AFA.SITAFA = R010SIT.CODSIT AND 
                                               R010SIT.TIPSIT = 7))
              

              [quote="Litz":12438eir]Faça assim, utilize um left join

              select a.numcad, b.codcon
              from tabela.a, tabela.b
              and a.numemp = b.numemp(+)
              and a.tipcol = b.tipcol(+)
              and a.numcad = b.numcad(+)

              Vlw Leonardo Litz[/quote]

              #88893
              Miro
              Participante

                10.2.0.4.0

                [quote=”ramasine”:1eey371l]Olá Miro,

                Qual a versão do seu banco de dados!
                No teu caso e se entendi bem a sua questão tú precisarás de um OUTER JOIN entre as tabelas!!
                Mas dependendo da versão, muda a sintaxe de como montar o outer!

                Abs

                Marcelo[/quote]

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