detoniks
(usa Debian)
Enviado em 01/03/2013 - 09:59h
Bom dia,
Tenho 2 tabelas com os seguintes campos:
ramais_info:
Ramal - IP - latencia - status
e canais_info:
Ramal - canal - duracao - bridged
O campo ramal eh a chave estrangeira
O que acontece eh o seguinte, o tabela canais_info, lista as chamadas ativas no momento do ramal.
NEM SEMPRE o ramal esta em ligação, e qd nao tem ligaçao pro ramal, logo nao eh preenchido nada na tabela canais_info, la soh entra ramais com chamada.
Tenho um SELECT ja porem ele nao pega os dados do canal, nem duracao nem bridged
Meu select ta assim:
$sql_comando = " SELECT aux.total_chamadas, ri.ramal, ri.ip, ri.latencia, ri.status
FROM ramais_info ri
LEFT JOIN (SELECT c.ramal, COUNT(*) as total_chamadas
FROM canais_info c
GROUP BY c.ramal) aux ON ri.ramal = aux.ramal
WHERE 1=1 " . (!empty($data['field']) ? " AND lower(" . $data['stype'] . ") LIKE '%" . strtolower($data['field']) . "%'" : "") .
$statusw[$data['status']] . "" .
$latenciaw[$data['latencia']] . "";
PARA acrescentar os canais eu tentei fazer como abaixo, porem ele soh LISTA UMA chamada de cada ramal, e as vezes o ramal tem mais de uma chamada, e com meu select que fiz soh ta listando UM =/
$sql_comando = " SELECT aux.total_chamadas, auxx.canal, ri.ramal, ri.ip, ri.latencia, ri.status
FROM ramais_info ri
LEFT JOIN (SELECT c.ramal, COUNT(*) as total_chamadas
FROM canais_info c
GROUP BY c.ramal) aux ON ri.ramal = aux.ramal
LEFT JOIN (SELECT cii.ramal, cii.canal, cii.duracao
FROM canais_info cii
GROUP BY cii.ramal) auxx ON ri.ramal = auxx.ramal
WHERE 1=1 " . (!empty($data['field']) ? " AND lower(" . $data['stype'] . ") LIKE '%" . strtolower($data['field']) . "%'" : "") .
$statusw[$data['status']] . "" .
$latenciaw[$data['latencia']] . "";
Alguem pode dar uma ajuda?