Olá amigos, preciso de ajuda urgente para criar uma query. Tá muito complicado de eu entender como fazer, pois não tenho muito conhecimento em Mysql.
Seguinte:
Meu sistema é para alarmes monitorados (residencias e comercios).
Os dados vem das centrais de alarmes instaladas nos clientes, via linha telefonica, entram em uma receptora de alarmes e a mesma envia para um servidor mysql, tabela 'Ocorrencias' com os seguintes campos:
OCORR_ID - INT(11) - PRIMARY AUTO INCREMENT
CODIGO_CLIENTE - INT(16)
CODIGO_OCORRENCIA - VARCHAR(50)
DATA_ENTRADA - DATETIME
ZONA - VARCHAR(8)
Exemplo:
OCORR_ID | CODIGO_CLIENTE | CODIGO_OCORRENCIA | DATA_ENTRADA | ZONA
1576276 | 1116 | E401 | 28/03/2011 16:44 | 004
1576275 | 1338 | R401 | 28/03/2011 14:32 | 001
O que eu preciso é listar todos os clientes que estão com seu alarme DESATIVADO.
Acho que essa filtragem deve ser feito através do campo CODIGO_OCORRENCIA, onde esses codigos significam:
E401 = ALARME DESARMADO
R401 = ALARME ATIVADO
E302 = FALHA NA BATERIA (e assim por diante)...
O que me interessa nessa query são os E401 e R401 (alarmes ativados e os desativados)
Preciso então listar cada cliente (acredito que usando o GROUP BY CODIGO_CLIENTE) e se o alarme dele está ativado ou desativado.
AGRUPANDO por CODIGO_CLIENTE, Tenho que pegar o ultimo registro onde CODIGO_OCORRENCIA seja E401 (alarme desarmado)
Em resumo meu resultado final teria que ser isso, listando cliente por cliente que estejam DESATIVADOS (E401):
CODIGO_CLIENTE | CODIGO_OCORRENCIA | DATA_ENTRADA | ZONA
1116 | E401 | 28/03/2011 16:44 | 004
Como nesta tabela entram ocorrencias de todos os clientes, fica tudo misturado.
Olha é bem complexo para o grau de conhecimento que eu tenho no mysql..rss
Pergunta
luisguzzardi
Olá amigos, preciso de ajuda urgente para criar uma query. Tá muito complicado de eu entender como fazer, pois não tenho muito conhecimento em Mysql.
Seguinte:
Meu sistema é para alarmes monitorados (residencias e comercios).
Os dados vem das centrais de alarmes instaladas nos clientes, via linha telefonica, entram em uma receptora de alarmes e a mesma envia para um servidor mysql, tabela 'Ocorrencias' com os seguintes campos:
OCORR_ID - INT(11) - PRIMARY AUTO INCREMENT
CODIGO_CLIENTE - INT(16)
CODIGO_OCORRENCIA - VARCHAR(50)
DATA_ENTRADA - DATETIME
ZONA - VARCHAR(8)
Exemplo:
OCORR_ID | CODIGO_CLIENTE | CODIGO_OCORRENCIA | DATA_ENTRADA | ZONA
1576276 | 1116 | E401 | 28/03/2011 16:44 | 004
1576275 | 1338 | R401 | 28/03/2011 14:32 | 001
O que eu preciso é listar todos os clientes que estão com seu alarme DESATIVADO.
Acho que essa filtragem deve ser feito através do campo CODIGO_OCORRENCIA, onde esses codigos significam:
E401 = ALARME DESARMADO
R401 = ALARME ATIVADO
E302 = FALHA NA BATERIA (e assim por diante)...
O que me interessa nessa query são os E401 e R401 (alarmes ativados e os desativados)
Preciso então listar cada cliente (acredito que usando o GROUP BY CODIGO_CLIENTE) e se o alarme dele está ativado ou desativado.
AGRUPANDO por CODIGO_CLIENTE, Tenho que pegar o ultimo registro onde CODIGO_OCORRENCIA seja E401 (alarme desarmado)
Em resumo meu resultado final teria que ser isso, listando cliente por cliente que estejam DESATIVADOS (E401):
CODIGO_CLIENTE | CODIGO_OCORRENCIA | DATA_ENTRADA | ZONA
1116 | E401 | 28/03/2011 16:44 | 004
Como nesta tabela entram ocorrencias de todos os clientes, fica tudo misturado.
Olha é bem complexo para o grau de conhecimento que eu tenho no mysql..rss
espero que tenha conseguido passar o que preciso.
Obrigado a todos!
Link para o comentário
Compartilhar em outros sites
20 respostass a esta questão
Posts Recomendados