locked
Left Join em três tabelas

    Pergunta

  • Tenho 3 tabelas:

    - canais

    - comentários

    - programas

     

    Eu preciso fazer um select que me mostre todos os canais e faça a countagem de quantos comentários tem cada canal e também fazer a contagem de quantos programas tem cada canal.

     

    Então fiz assim:

     

    select c.canal,

    count(co.codigo_canal) as comentarios,

    count(p.codigo_canal) as programas
    from canais as c left join comentarios as co
    on c.codigo_canal = co.codigo_canal
    left join programas as p
    on c.codigo_canal = p.codigo_canal
    group by c.canal

     

    Mas não deu certo, as somas ficaram erradas.

     

    Como usar o left join para resolver este problema?

    quinta-feira, 26 de abril de 2007 16:26

Todas as Respostas

  • Luis,

     

    Tente utilizar no lugar do Left Join o Inner Join!!!

    quinta-feira, 26 de abril de 2007 16:32
  • Boa noite Luis.

    Esta vídeo aula ensina a fazer LEFT JOIN em três tabelas. Veja se tira suas dúvidas.

    URL: http://youtu.be/f5DmoEpqJCs

    []´s


    Drausio Henrique Chiarotti

    quarta-feira, 11 de setembro de 2013 02:31
  • Luis da uma sacada se funciona dessa maneira:

    select

    canais.nome,

    count(co.comentarios) as comentarios,

    count(pr.programas) as programas

    from

    Canais canais left join

    Comentarios co on

    canais.id = co.id left join

    Programas pr on

    canais.id = pr.id 

    quarta-feira, 26 de fevereiro de 2014 13:27
  • Galera,

    Por gentileza, posts com mais de 12 meses de postagens e sem resposta não devem ser reabertos ou respondidos.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    sábado, 1 de março de 2014 14:14