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:
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). Ver original
user_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) )
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
SELECT 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.!!!