none
Select Count RRS feed

  • Pergunta

  •  

    Pessoal, como faço um select no seguinte cenário.

     

    Tenho os clientes e os seus pedidos.

     

    Preciso fazer um select que retorne o total de clientes que tem pedido e que não tem pedido.

     

    -----------------------------

    Sem Pedido ... : 50

    Com Pedido ....: 15

    Total ...............: 65

    -----------------------------

     

    Abraço

    segunda-feira, 15 de setembro de 2008 18:52

Respostas

  • Não sei se entendi, mas poderia fazer algo como:

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                List<Cliente> clientes = new List<Cliente>();

                Cliente c1 =
                    new Cliente()
                    {
                        Nome = "Israel"
                        , Pedidos = new List<Pedido>() {
                            new Pedido(){ Codigo = 1},
                            new Pedido(){ Codigo = 2},
                            new Pedido(){ Codigo = 3},
                        }
                    };
                clientes.Add(c1);

                Cliente c2 =
                    new Cliente()
                    {
                        Nome = "Israel"
                        ,
                        Pedidos = new List<Pedido>() {
                                        new Pedido(){ Codigo = 4},
                                        new Pedido(){ Codigo = 5}
                                    }
                    };
                clientes.Add(c2);

                var resultado =
                    from c in clientes
                    where c.Pedidos.Count > 0
                    select new {
                        Cliente = c.Nome
                        , TotalDePedidos = c.Pedidos.Count
                    };

                foreach (var item in resultado)
                {
                    Console.WriteLine(string.Format("Cliente: {0} - Total: {1}", item.Cliente, item.TotalDePedidos));
                }
            }
        }

        public class Cliente
        {
            public string Nome { get; set; }

            public List<Pedido> Pedidos { get; set; }
        }

        public class Pedido
        {
            public int Codigo { get; set; }
        }
    }

    segunda-feira, 15 de setembro de 2008 23:52