none
Inner join com not equals RRS feed

  • Pergunta

  • Como faço a consulta abaixo utilizando linq to sql?

    select *
    from consulta c
    inner join reconsulta r on c.idconsulta != c.idconsulta
    

    Tem como fazer usando a condição join?
    Ou somente  fazendo algo parecido com "not exists" ?

    Agradeço desde já!
    quarta-feira, 12 de janeiro de 2011 20:50

Respostas

  • Amigo, segue um exemplo abaixo, acredito que o que você quer  seja melhor conseguido usando o a ideia do segundo exemplo:

        List<Setor>setores = new List<Setor>
        {
          new Setor{ID = 1, Nome="TI"},
          new Setor{ID=2, Nome="Direção"},
          new Setor{ID=3, Nome="Vendas"}
        };
        List<Funcionaro> funcionarios = new List<Funcionaro>
        {
          new Funcionaro{ID=1, Nome="Olavo Oliveira Neto", SetorID=1},
          new Funcionaro{ID=2, Nome="Toim", SetorID=2},
          new Funcionaro{ID=3, Nome="Mariazinha", SetorID=3},
          new Funcionaro{ID=4, Nome="Toinha", SetorID=4},
        };
        //Exemplo com !=
        var query = from func in funcionarios
              from set in setores
              where func.SetorID != set.ID
              select func;
        var queryList = query.Distinct().ToList();
        //Exemplo com Not Exists
        var queryNotExists = from func in funcionarios
                   where (!setores.Exists(set =>set.ID.Equals(func.SetorID)))
                   select func;
        var queryListNotExists = queryNotExists.ToList();
    


    Olavo Oliveira Neto
    Se for útil marque como resposta e faça um Developer feliz :)
    quinta-feira, 13 de janeiro de 2011 12:51
    Moderador

Todas as Respostas

  • José,

    Acredito que você não vai conseguir fazer com join... Veja se este artigo te ajuda em algo:

    http://msdn.microsoft.com/en-us/library/bb882533.aspx


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    • Sugerido como Resposta Rodrigo Sória quinta-feira, 13 de janeiro de 2011 07:24
    quarta-feira, 12 de janeiro de 2011 21:16
    Moderador
  • Amigo, segue um exemplo abaixo, acredito que o que você quer  seja melhor conseguido usando o a ideia do segundo exemplo:

        List<Setor>setores = new List<Setor>
        {
          new Setor{ID = 1, Nome="TI"},
          new Setor{ID=2, Nome="Direção"},
          new Setor{ID=3, Nome="Vendas"}
        };
        List<Funcionaro> funcionarios = new List<Funcionaro>
        {
          new Funcionaro{ID=1, Nome="Olavo Oliveira Neto", SetorID=1},
          new Funcionaro{ID=2, Nome="Toim", SetorID=2},
          new Funcionaro{ID=3, Nome="Mariazinha", SetorID=3},
          new Funcionaro{ID=4, Nome="Toinha", SetorID=4},
        };
        //Exemplo com !=
        var query = from func in funcionarios
              from set in setores
              where func.SetorID != set.ID
              select func;
        var queryList = query.Distinct().ToList();
        //Exemplo com Not Exists
        var queryNotExists = from func in funcionarios
                   where (!setores.Exists(set =>set.ID.Equals(func.SetorID)))
                   select func;
        var queryListNotExists = queryNotExists.ToList();
    


    Olavo Oliveira Neto
    Se for útil marque como resposta e faça um Developer feliz :)
    quinta-feira, 13 de janeiro de 2011 12:51
    Moderador