Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Query mysql hacer update como?

Estas en el tema de Query mysql hacer update como? en el foro de Bases de Datos General en Foros del Web. Buen dia a todos, tengo un query que me esta dando problemas, no tengo mucho en db pero por mi trabajo estoy aprendiendo a marchas ...
  #1 (permalink)  
Antiguo 15/01/2016, 10:11
 
Fecha de Ingreso: enero-2016
Mensajes: 8
Antigüedad: 8 años, 3 meses
Puntos: 1
Exclamación Query mysql hacer update como?

Buen dia a todos, tengo un query que me esta dando problemas, no tengo mucho en db pero por mi trabajo estoy aprendiendo a marchas forzadas.

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:
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%'
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:

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
  #2 (permalink)  
Antiguo 15/01/2016, 10:18
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Query mysql hacer update como?

Seria algo como esto:

Código MySQL:
Ver original
  1. update tabla1
  2. set tabla1.campo=completa.campo
  3. (
  4. select campo from tabla2........
  5. ) as completa where tabla1.id=completa.id
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: mysql, query
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:02.