Contador para uma query [RESOLVIDO]

1. Contador para uma query [RESOLVIDO]

Victor
detoniks

(usa Debian)

Enviado em 27/02/2013 - 12:09h

Boa tarde,

Tenho 2 tabelas

uma tabela "ramais" e outra "chamadas" das quais tem como chave estrangeira o campo Ramal

O que eu preciso eh o seguinte

Eu preciso CONTAR quantas chamadas tem para o ramal, para saber isso eh simples.
Se na tabela chamadas possuir o ramal, significa que tem chamada

ex:
tabela Ramais tem o ramal '1000', '1001' e '1002'

na tabela chamadas tem o ramal '1000' aparecendo uma unica vez, o ramal 1001 não aparecendo nenhuma vez, e o ramal 1002 aparecendo 4 vezes

Eu teria que listar a quantidade de vezes que apareceu:
ex:
ramal 1000 - 1
1001 - 0
1002 - 4

Ai to dando o select do tipo:
SELECT ramal FROM chamadas as c
INNER JOIN ramais as r
WHERE c.ramal = r.ramal;

Não sei se a query ta certa. Bom, ai preciso CONTAR quantas vezes o ramal apareceu na tabela chamadas.





  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/02/2013 - 14:45h

detoniks escreveu:

Boa tarde,

Tenho 2 tabelas

uma tabela "ramais" e outra "chamadas" das quais tem como chave estrangeira o campo Ramal

O que eu preciso eh o seguinte

Eu preciso CONTAR quantas chamadas tem para o ramal, para saber isso eh simples.
Se na tabela chamadas possuir o ramal, significa que tem chamada

ex:
tabela Ramais tem o ramal '1000', '1001' e '1002'

na tabela chamadas tem o ramal '1000' aparecendo uma unica vez, o ramal 1001 não aparecendo nenhuma vez, e o ramal 1002 aparecendo 4 vezes

Eu teria que listar a quantidade de vezes que apareceu:
ex:
ramal 1000 - 1
1001 - 0
1002 - 4

Ai to dando o select do tipo:
SELECT ramal FROM chamadas as c
INNER JOIN ramais as r
WHERE c.ramal = r.ramal;

Não sei se a query ta certa. Bom, ai preciso CONTAR quantas vezes o ramal apareceu na tabela chamadas.





Amigo, a sua dúvida é sobre SQL. E você está na comunidade PHP.

Vou tentar ajudar.

A chave da tabela ramal, é o próprio número do ramal?

Se a resposta for sim, então não precisa juntar as tabelas, basta agrupar a tabela chamadas com o COUNT().

SELECT c.ramal, COUNT(*) as total_chamadas
FROM CHAMADAS c
GROUP BY c.ramal

Se a resposta for não, então neste caso terá de juntar com a tabela ramal.

SELECT r.ramal, COUNT(*) as total_chamadas
FROM CHAMADAS c
LEFT JOIN ramal r ON c.cod_ramal=r.cod_ramal
GROUPY BY r.ramal


c.cod_ramal=r.cod_ramal <= Substitua pelas chaves, primaria e estrangeira correspondente de cada tabela

valeu?


3. Re: Contador para uma query [RESOLVIDO]

Victor
detoniks

(usa Debian)

Enviado em 27/02/2013 - 14:06h

Deve ta dificil ein, ninguem ate agora kkk


4. Re: Contador para uma query [RESOLVIDO]

Danilo Josino
djosino

(usa Ubuntu)

Enviado em 27/02/2013 - 14:17h

procura por count e group by


5. Re: Contador para uma query [RESOLVIDO]

Victor
detoniks

(usa Debian)

Enviado em 27/02/2013 - 14:35h

djosino escreveu:

procura por count e group by


Tentei isso

$sql_comando = "SELECT COUNT(ramal) from canais_info as c
LEFT JOIN ramais_info as r ON
c.ramal=r.ramal";
$chamadas = $mysql->query($sql_comando);

porem me retorna o erro:- Column 'ramal' in field list is ambiguous
=/


6. Re: Contador para uma query [RESOLVIDO]

Victor
detoniks

(usa Debian)

Enviado em 27/02/2013 - 14:57h

alex.castilho escreveu:

detoniks escreveu:

Boa tarde,

Tenho 2 tabelas

uma tabela "ramais" e outra "chamadas" das quais tem como chave estrangeira o campo Ramal

O que eu preciso eh o seguinte

Eu preciso CONTAR quantas chamadas tem para o ramal, para saber isso eh simples.
Se na tabela chamadas possuir o ramal, significa que tem chamada

ex:
tabela Ramais tem o ramal '1000', '1001' e '1002'

na tabela chamadas tem o ramal '1000' aparecendo uma unica vez, o ramal 1001 não aparecendo nenhuma vez, e o ramal 1002 aparecendo 4 vezes

Eu teria que listar a quantidade de vezes que apareceu:
ex:
ramal 1000 - 1
1001 - 0
1002 - 4

Ai to dando o select do tipo:
SELECT ramal FROM chamadas as c
INNER JOIN ramais as r
WHERE c.ramal = r.ramal;

Não sei se a query ta certa. Bom, ai preciso CONTAR quantas vezes o ramal apareceu na tabela chamadas.





Amigo, a sua dúvida é sobre SQL. E você está na comunidade PHP.

Vou tentar ajudar.

A chave da tabela ramal, é o próprio número do ramal?

Se a resposta for sim, então não precisa juntar as tabelas, basta agrupar a tabela chamadas com o COUNT().

SELECT c.ramal, COUNT(*) as total_chamadas
FROM CHAMADAS c
GROUP BY c.ramal

Se a resposta for não, então neste caso terá de juntar com a tabela ramal.

SELECT r.ramal, COUNT(*) as total_chamadas
FROM CHAMADAS c
LEFT JOIN ramal r ON c.cod_ramal=r.cod_ramal
GROUPY BY r.ramal


c.cod_ramal=r.cod_ramal <= Substitua pelas chaves, primaria e estrangeira correspondente de cada tabela

valeu?


Brigado alex, funcionou, postei na comunida de PHP pq achei que o contador teria que ser feito em php.
obrigado






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts