como hacer un update masivo pero con datos de diferentes tablas??
debo modificar solo un grupo de usuarios asignandoles un privilegio diferente, para modificarle mi filtro es este año 2015.
mi query donde ya selecciono los datos que voy actualizar ya filtrados
el dato comun entre las dos tablas es el de cve_persona, este es mi query:
Código:
hasta aca, me muestra los campos que estan en el SELECT de las tablas c_usuario y c_persona donde quien los une es c_n_cve_persona, y mi filtro es la matricula 2015, ahora partiendo de todo esto, sigue mi problema:SELECT c.`c_n_cve_usuario`, c.`c_n_cve_persona`, c.`d_c_matricula`, cp.`c_n_cve_persona`, cp.`c_n_cve_grupo_menu`, cp.`c_n_cve_grupo_centro_trabajo` FROM c_usuario c, c_persona cp WHERE c.c_n_cve_persona=cp.c_n_cve_persona ** esta es la que une*** AND c.`d_c_matricula`='2015%'
a todos mis usuarios del 2015 les aparece en 0 el grupo de menu y el centro de trabajo, cp.`c_n_cve_grupo_menu`, cp.`c_n_cve_grupo_centro_trabajo`
tengo usuarios 2013,2012 etc que estan bien, pero los 2015 estan en 0, lo que busco es que en mi UPDATE cp.`c_n_cve_grupo_menu y cp.`c_n_cve_grupo_centro_trabajo sean igual a 1 y 2 respectivamente
lo que necesito yo hacer con el UPDATE es de la tabla c_persona modificar el grupomenu y grupotrabajo, pero con condiciones que estan en la tabla c_usuario
algo asi....
UPDATE c_persona
SET c_n_cve_grupo_menu = '1', c_n_cve_grupo_centro_trabajo = 2
WHERE (aca no se como poner la condicion o si esta bien en mi select)
AND d_c_matricula`='2015%'
espero haberme dado a entender
uso mysql administrator para debian