Ver Mensaje Individual
  #16 (permalink)  
Antiguo 07/01/2013, 07:07
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Ayudar con query sql

Bueno, con el último post se va entendiendo un poco el tema, pero me da la impresión de que se trata de un resultado que no es posible obtener con una consulta sencilla, sino en base a algo medio complicado. el problema se origina en que las condiciones a cumplir terminan siendo contradictorias.
Lo que tu necesitas es el listado de DNI distintos que se conectan por la misma IP, pero descartando:
- Los que se han conectado una única vez, por una única IP.
- Los que se han conectado N veces, siempre desde la misma IP.
El problema se produce porque ambas condiciones pueden solaparse con los que si quieres obtener. Al menos desde el punto de vista lógico.
Para que se entienda: en ambos casos se puede dar que un DNI se haya conectado por la misma IP usada por un grupo.
Generar una exclusión de este tipo es algo complicado.
Excluir solamente aquellos asos donde se conectó una única vez, es sencillo:
Código MySQL:
Ver original
  1. FROM tabla
  2. WHERE ip NOT IN (SELECT ip FROM tabla GROUP BY ip HAVING COUNT(*) = 1)
pero en tu propio ejemplo, hay tres casos de conexiones sobre una misma ip (dni1, dn2 y dn3, sobre ip1). ¿Cuál es la causa de mostrar esos dos y no los tres? Es decir, ¿en base a qué criterio excluyes el dni3?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)