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 originaluser_old
(
ID INT NOT NULL AUTO_INCREMENT,
OPRID VARCHAR(100) NOT NULL, //nick del usuario
NAMEUSR VARCHAR(100) NOT NULL, //nombre completo
ROLNAME VARCHAR(100) NOT NULL, //roles del usuario
PRIMARY KEY (ID),
INDEX indx_usr_old (OPRID, ROLNAME)
)
user_new
(
ID INT NOT NULL AUTO_INCREMENT,
OPRID VARCHAR(100) NOT NULL, //nick del usuario
NAMEUSR VARCHAR(100) NOT NULL, //nombre completo
ROLNAME VARCHAR(100) NOT NULL, //roles del usuario
PRIMARY KEY (ID),
INDEX indx_usr_old (OPRID, ROLNAME)
)
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 originalSELECT OPRID, NAMEUSR, ROLNAME
FROM user_new
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.!!!