none
problema select de varias tabelas RRS feed

  • Pergunta

  • Olá....

    Estou com um problema... tenho tres tabelas na qual tenho q fazer um select e voltar todos os seus conteudos..

    o problema e o seguinte: tenho 3 tabelas, uma de cadastro de usuarios, outra de cadastro de sua funcao e a ultima de fotos...

    E estou fazendo um select que retorna todos os dados, mas no caso o usuario nao conter fotos, este usuario nao retorna pq o seu fk esta vazio...

    o que eu devo fazer ?

    sexta-feira, 11 de dezembro de 2009 20:43

Respostas

  • Se tua regra de negócio possibilita um usuário sem função também.

    select   a.campos_da_tabelacadatros
               b.campos_da_tabelaFuncao
               c.Foto_do_caboclo_tabeladefoto
    from    tabelacasdatros A
    left join tabelaFuncao B
       on      A.codigo = b.codigo 
    left join  tabeladefoto C
      on  A.codigo = c.codigo 

    Se não, somente a foto pode não ter, ou seja, todo usário tem uma função

    select  a.campos_da_tabelacadatros
              b.campos_da_tabelaFuncao
              c.Foto_do_caboclo_tabeladefoto
    from  tabelacasdatros A
    inner join tabelaFuncao B
      on      A.codigo = b.codigo 
    left join  tabeladefoto C
      on  A.codigo = c.codigo 

     


    www.laertejuniordba.spaces.live.com
    sexta-feira, 11 de dezembro de 2009 21:50

Todas as Respostas

  • Se tua regra de negócio possibilita um usuário sem função também.

    select   a.campos_da_tabelacadatros
               b.campos_da_tabelaFuncao
               c.Foto_do_caboclo_tabeladefoto
    from    tabelacasdatros A
    left join tabelaFuncao B
       on      A.codigo = b.codigo 
    left join  tabeladefoto C
      on  A.codigo = c.codigo 

    Se não, somente a foto pode não ter, ou seja, todo usário tem uma função

    select  a.campos_da_tabelacadatros
              b.campos_da_tabelaFuncao
              c.Foto_do_caboclo_tabeladefoto
    from  tabelacasdatros A
    inner join tabelaFuncao B
      on      A.codigo = b.codigo 
    left join  tabeladefoto C
      on  A.codigo = c.codigo 

     


    www.laertejuniordba.spaces.live.com
    sexta-feira, 11 de dezembro de 2009 21:50
  • Laerte... valeu msm.. deu certo..

    Agora eu sei pq tem esta opçoes do inner join... .rsrsrs

    muito obrigado....

    abraços.
    sábado, 12 de dezembro de 2009 00:19
  • Sem  problemas meu amigo..QQ coisa estamos por aí.

    Sugiro você dar uma lidinha em outer joins.

    Existem vários exemplos e artigos na net.

    esse aqui eu acho bem legal, uma linguagem simples :

    http://www.profissionaisti.com.br/2009/06/entendendo-outer-joins-sql-parte-3-conexoes-externas-left-right-join/
    www.laertejuniordba.spaces.live.com
    sábado, 12 de dezembro de 2009 00:24