Pular para o conteúdo
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #75059
    Avatar de TyttoTytto
    Participante

      Kero fazer um JOIN, mas os registros que a chave n?o estiver preenchida, kero que tb sejam mostrados. Exemplo:

      Tabela clientes:
      Codigo Nome Profissao (nome_profissao – Join)
      1 Joao 1 Programador
      2 Maria 2 Professor
      3 Pedro

      Tabela profissoes:
      Codigo Nome
      1 Programador
      2 Professor

      OBS: O problema eh que o registro 3 da tabela clientes eh ignorado por n?o ter preenchido o campo profissao.

      Obrigado.

      #75060
      Avatar de Marcio68AlmeidaMarcio68Almeida
      Participante

        Select c.*, p.*
        From clientes c
        left outer join profissoes p on c.profissao = p.codigo

        ou ent?o

        Select c.*, p.*
        From clientes c, profissoes p
        Where c.profissao = p.codigo (+)

        Qualquer um dos dois vai trazer o que voc? deseja…

        #75065
        Avatar de TyttoTytto
        Participante

          Obrigado pela aten??o, mais os itens que n?o possuem chave estrangeira ainda n?o s?o mostrados…

          O q devo fazer..

          #75066
          Anônimo

            Fiz o teste e funcionou perfeitamente…
            Veja se n?o errou em alguma coisa !!! 😀
            SQL> Create table clientes (codigo number (3), nome varchar2 (50), profissao number (3));
            Tabela criada.

            SQL> Create table profissao (codigo number (3), descricao varchar2 (50));
            Tabela criada.

            SQL> Insert into clientes values (1, 'Jo?o', 1);
            1 linha criada.

            SQL> Insert into clientes values (2, 'Maria', 2);
            1 linha criada.

            SQL> Insert into clientes values (3, 'Pedro', 3);
            1 linha criada.

            SQL> Insert into profissao values (1, 'Programador');
            1 linha criada.

            SQL> Insert into profissao values (2, 'Professor');
            1 linha criada.

            SQL> set lines 1000
            SQL> Select c.nome, p.descricao
            2 From clientes c
            3 left outer join profissao p on c.profissao = p.codigo;

            NOME DESCRICAO


            Jo?o Programador
            Maria Professor
            Pedro

            SQL> Select c.nome, p.descricao
            2 From clientes c, profissao p
            3 Where c.profissao = p.codigo (+);

            NOME DESCRICAO


            Jo?o Programador
            Maria Professor
            Pedro

            #75073
            Avatar de TyttoTytto
            Participante

              Funcionou. Eu estava usando agrupamentos, por isso naum funcionava.

              Muito obrigado a todos.

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