Contar quantos servidores cada cliente possui - MySQL

1 resposta
mysql
P

Sou iniciante, então já peço desculpas antecipadas. Tenho duas tabelas. Uma com o ID do cliente, e outra com o nome do servidor e IP do servidor usado em cada cliente.

Exemplo:

Tabela 1

ID | Empresa
1    Ford
2    Honda
3    BMW

Tabela dois

id_cliente  |  Filial      |      ip_servidor
     1          Goiania         192.168.5.5
     1          Anapolis        192.168.5.6
     2          Sao Paulo       172.54.8.9
     3          Recife          154.22.1.12

Gostaria de saber como faço para listar quantas filiais cada Empresa possui, listando suas respectivas filiais e IP’s

Exemplo da resposta da query:

Empresa Ford, 2 filiais (goiania e anapolis) com os ips 192…
Empresa honda possui 1 filial em Sao Paulo com o IP 172…(a formatação nao precisa ser assim).

Estou com muitas duvidas em contagem, listagem e ordenação.

1 Resposta

T

Para conseguir uma saída formatada do jeito que você precisa, não seria uma consulta muito simples, porque envolve concactenação dos resultados. Poderia envolver procedures, inclusive.

O mais simples seria você retornar os dados que quer com consultas simples e, na hora de exibir, formatar do jeito que deseja. Exemplo:

  • retorna quantos ips tem uma fábrica:

    select count(1) quantidade_de_ips, a.id_cliente, b.empresa
    from tabela2 a, tabela1 b where a.id_cliente = b.id group by a.id_cliente;

Link rodando: http://sqlfiddle.com/#!9/330a8/2

Estude sobre as funções de agregação (count, max), group by e junção entre tabelas (joins e where).

Abraço.

Criado 21 de março de 2017
Ultima resposta 22 de mar. de 2017
Respostas 1
Participantes 2