Foro

Query's interesantes :)

0
Hola foreros, solamente quiero compartir unos query's que me parecieron interesantes: Update que se realiza usando unos JOIN's de tres tablas, en el siguiente ejemplo actualiza el campo "activo" de la tabla "Reportes" solamente si ese registro está relacionado con el rol 1 de la tabla "roles", pueden ver es una relación muchos a muchos entre R y RO. UPDATE reportes R INNER JOIN reportes_roles RR ON R.reporte_k = RR.reporte_k INNER JOIN roles RO ON RR.rol_k = RO.rol_k SET R.activo=false WHERE R.reporte_k = 10 AND RO.rol_k = 1 Ahora un delete!!, también podemos borrar registros haciendo JOIN's entre varias tablas, en el siguiente ejemplo se borra un registro de la tabla "reportes_columnas" que tenga relación con un Rol, la tabla "reportes_columnas" tiene una relación muchos a muchos con la tabla "roles" y solamente se realizará el borrado si el registro de la tabla "RC" tiene relación con el registro numero 1 de la tabla "Roles". DELETE RC FROM reportes_columnas RC INNER JOIN reportes_columnas_roles RCR ON RC.columna_k = RCR.columna_k INNER JOIN roles R ON R.rol_k = RCR.rol_k WHERE RC.columna_k = 80 AND RC.reporte_k = 10 AND R.rol_k = 1 Ahora bien, parece que la sintaxis cambia un poco entre servidores de base de datos, estos query's los ejecuto en MySQL sin problema. Pues eso es todo, espero que a alguien le sirva y por supuesto queda para futuras referencias. Saludos

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.