Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Quitar filas en "banned list"

Estas en el tema de Quitar filas en "banned list" en el foro de Mysql en Foros del Web. Se que esto tiene mucho que ver con los join y demás con lo cual no estoy sumamente familiarizado, lo que sí, no encuentro como ...
  #1 (permalink)  
Antiguo 07/08/2014, 08:38
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Quitar filas en "banned list"

Se que esto tiene mucho que ver con los join y demás con lo cual no estoy sumamente familiarizado, lo que sí, no encuentro como quitar filas de una tabla cuando se repitan en otra.

Un ejemplo sería una lista de banneo, este caso es otro, pero se aplica lo mismo, es decir tengo la lista de "usuarios":

Código MySQL:
Ver original
  1. SELECT UUIDUsuario FROM usuarios
y la lista de los baneados...

Código MySQL:
Ver original
  1. SELECT UUID FROM baneados WHERE ... condiciones de banneo

Algo importante, es que la lista de baneados así como la lista de usuarios comparten un mismo valor, un UUID (UUIDUsuario y UUID).

¿Como puedo hacer para que la lista de los usuarios no incluya a los que "fueron baneados"? Hace meses atrás lo hacia, pero ya me oxidé y no recuerdo como, me ayudaría muchísimo una mano.

Mil gracias!

Última edición por gnzsoloyo; 07/08/2014 a las 08:53
  #2 (permalink)  
Antiguo 07/08/2014, 08:54
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Quitar filas en "banned list"

Código MySQL:
Ver original
  1. SELECT u.UUIDUsuario FROM usuarios u LEFT JOIN baneados b ON  u.UUIDUsuario = b.UUID WHERE b.UUID IS NULL
  #3 (permalink)  
Antiguo 07/08/2014, 08:56
Avatar de 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: Quitar filas en "banned list"

Hay muchas formas de hacerlo. Te dos dos opciones:
Código MySQL:
Ver original
  1. SELECT U.UUIDUsuario
  2. FROM usuarios U LEFT JOIN baneados B ON U.UUIDUsuario = B.U.UUID

Código MySQL:
Ver original
  1. SELECT U.UUIDUsuario
  2. FROM usuarios U
  3. WHERE U.UUIDUsuario  NOT IN(SELECT U.UUID FROM baneados);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 07/08/2014, 12:19
 
Fecha de Ingreso: abril-2010
Ubicación: Ping: BSAS - Arg
Mensajes: 791
Antigüedad: 14 años
Puntos: 25
Respuesta: Quitar filas en "banned list"

Cita:
Iniciado por jurena Ver Mensaje
Código MySQL:
Ver original
  1. SELECT u.UUIDUsuario FROM usuarios u LEFT JOIN baneados b ON  u.UUIDUsuario = b.UUID WHERE b.UUID IS NULL
Mil gracias!!!!

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Hay muchas formas de hacerlo. Te dos dos opciones:
Código MySQL:
Ver original
  1. SELECT U.UUIDUsuario
  2. FROM usuarios U LEFT JOIN baneados B ON U.UUIDUsuario = B.U.UUID

Código MySQL:
Ver original
  1. SELECT U.UUIDUsuario
  2. FROM usuarios U
  3. WHERE U.UUIDUsuario  NOT IN(SELECT U.UUID FROM baneados);
El "NOT IN" es épico, me ahorra usar LEFT JOIN e intercalar montones de consultas de la manera en la que lo llamo "on the way" ("mientras se te ocurren las cosas") Mil gracias!!!!

Etiquetas: filas, join, select, tabla, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:56.