Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/02/2014, 23:19
rhapsodyred
 
Fecha de Ingreso: julio-2012
Mensajes: 18
Antigüedad: 12 años, 5 meses
Puntos: 0
Sonrisa Comparar 2 tablas identicas y obtener registros que no coinciden mysql

Hola! que tal.

Solicito de su apoyo ya que he intentado buscar la solución a este inconveniente pero no he podido, es por eso que solicito un poco de ayuda.

Bueno, tengo dos tablas identicas user_old y user_new con la siguiente estructura:

Código SQL:
Ver original
  1. user_old
  2.     (
  3.         ID INT NOT NULL AUTO_INCREMENT,
  4.         OPRID VARCHAR(100) NOT NULL,                 //nick del usuario
  5.         NAMEUSR VARCHAR(100) NOT NULL,           //nombre completo
  6.         ROLNAME VARCHAR(100) NOT NULL,           //roles del usuario
  7.         PRIMARY KEY (ID),
  8.         INDEX indx_usr_old (OPRID, ROLNAME)
  9.     )
  10.  
  11.  user_new
  12.     (
  13.         ID INT NOT NULL AUTO_INCREMENT,
  14.         OPRID VARCHAR(100) NOT NULL,            //nick del usuario
  15.         NAMEUSR VARCHAR(100) NOT NULL,      //nombre completo
  16.         ROLNAME VARCHAR(100) NOT NULL,     //roles del usuario
  17.         PRIMARY KEY (ID),
  18.         INDEX indx_usr_old (OPRID, ROLNAME)
  19.     )
En estas dos tablas guardo información de los roles de un usuario, como verán una contiene informacion antigua (user_old) y la otra se encuentra actualizada (user_new).
Lo que requiero es comparar los roles de la tabla user_old vs user_new para obtener que roles se han modificado.

He utilizado la siguiente sentencia pero no he tenido el resultado que necesito:
Código SQL:
Ver original
  1. SELECT OPRID, NAMEUSR, ROLNAME
  2. FROM user_new
  3. WHERE ROLNAME NOT IN (SELECT ROLNAME FROM user_old)

De antemano les agradecería que me pudieran orientar un poco ya que me encuentro algo atorado.

Muchas gracias.!!!

Última edición por gnzsoloyo; 20/02/2014 a las 06:10