Eu tenho um sistema de pageviews (ASP) da Intranet da empresa que trampo rodando um banco Access. Nesse banco, tenho duas tabelas:
- Tabela Dados (onde registra a URL acessada, hora, data e IP [quabrado em 4 partes])
- Tabela área (área e IP início e Ip fim [ambos quebrados em 4 partes], pois com ele eu pego a range de ip das áreas. Ex> 192.168.1.1 até 192.168.1.54 - Financeiro, e assim por diantes
Tenho uma consulta que faz o vínculo verificando de acordo com a tabela área o conteúdo que a pessoa acessou. Código SQL:
SELECT dados.*, ipvlan.area FROM dados LEFT JOIN ipvlan ON (dados.ip1>=ipvlan.ipi1) AND (dados.ip1<=ipvlan.ipf1) AND (dados.ip2>=ipvlan.ipi2) AND (dados.ip2<=ipvlan.ipf2) AND (dados.ip3>=ipvlan.ipi3) AND (dados.ip3<=ipvlan.ipf3) AND (dados.ip4>=ipvlan.ipi4) AND (dados.ip4<=ipvlan.ipf4) AND (dados.dabre>=ipvlan.data_at);
Problema:
Vamos supor que eu tenho a range que eu dei o exemplo: 192.168.1.1 até 192.168.1.54 (área Financeira), mas tenho uma máquina dentro dessa range (192.168.1.14) que não é dá área financeira, e sim da área de Compras. Quando eu faço a consulta, sempre nos acessos aparece vez sim de uma área, vez sim de outra. O que eu posso melhorar no código para corrigir essa questão? Obrigado.