none
Query SQL To Linq Server C# RRS feed

  • Pergunta

  • Pessoal,

    Estou aprendendo linq e estou com dúvida para escrever em linq a seguinte query.

    select
       pro.cod_categoria,
       categoria,
       pro.cod_subcategoria,
       subcategoria,
       cat.ordem,
       sub.ordem
    from shp_produtos pro, shp_categorias cat, shp_subcategorias sub
    where ((pro.cod_categoria = cat.cod_categoria) and
           (pro.cod_subcategoria = sub.cod_subcategoria) and
           (pro.situacao <> 0))
    group by pro.cod_categoria, categoria, pro.cod_subcategoria, subcategoria, cat.ordem, sub.ordem
    order by cat.ordem desc, categoria, sub.ordem desc, subcategoria

    Se alguem puder ajudar grato.


    Obrigado pela ajuda
    quinta-feira, 10 de fevereiro de 2011 18:43

Respostas

  • Prezado,

    No seu caso você não precisa do group by, já que você não está retornando nenhum SUM, COUNT, AVG, etc., de algum campo... Portanto, sua query ficaria mais ou menos assim (não testei no Visual Studio, pode ter algum erro):

    var resultado = from pro in shp_produtos
        join cat in shp_categorias on pro.cod_categoria equals cat.cod_categoria
        join sub in shp_subcategorias on pro.cod_subcategoria equals sub.cod_subcategoria
        where (pro.situacao != 0)
        orderby cat.ordem descending, cat.categoria, sub.ordem descending, sub.subcategoria
        select new 
        { 
         Cod_Categoria = pro.cod_categoria,
         Categoria = cat.categoria,
         Cod_SubCategoria = pro.cod_subcategoria,
         SubCategoria = sub.subcategoria,
         Ordem1 = cat.ordem,
         Ordem2 = sub.ordem
        };
    

    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    segunda-feira, 14 de fevereiro de 2011 17:32
    Moderador