Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/01/2013, 12:16
Avatar de stramin
stramin
 
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Mostrar solo los registros que no tengan coincidencias con otra tabla

Esto es lo contrario a lo que estoy acostumbrado a hacer, generalmente busco coincidencias entre tablas usando LEFT JOIN, sin embargo hoy necesito hacer lo contrario.

Tengo la tabla usuarios, que contiene todos los usuarios del sistema

USUARIOS
id | name
1 | hugo
2 | paco
3 | luis

Y la tabla logueos, que contiene los logueos que han hecho esos usuarios

LOGUEOS
id | user | date
1 | 1 | 01/01/2013
2 | 2 | 01/01/2013
3 | 2 | 01/01/2013
4 | 2 | 01/01/2013

Según esto Hugo ha logueado una vez, Paco ha logueado 3 veces y Luis nunca se ha logueado.

Necesito imprimir la lista de usuarios que nunca se han logueado (solo debería mostrar a Luis)

Esto es lo más lejos que he llegado:

Código MySQL:
Ver original
  1. SELECT usuarios.name,logueos.id FROM usuarios
  2. LEFT JOIN logueos
  3. ON usuarios.id=logueos.user
  4. GROUP BY usuarios.id

Eso imprime lo siguiente:

NAME | id
hugo | 1
paco | 2
luis | NULL

Lo cual es un avance ya que al menos se quien es el que nunca ha logueado por que dice "NULL", pero necesito que solo se imprima "luis"

Espero puedan ayudarme por favor :(

Gracias!
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D