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

intercambiar 2 string de pocision con mysql

Estas en el tema de intercambiar 2 string de pocision con mysql en el foro de Mysql en Foros del Web. Saludos tengo un campo en una tabla en mysql donde guardo una lista de nombres de medicos con diferentes turnos en un dia la idea ...
  #1 (permalink)  
Antiguo 31/07/2015, 14:51
 
Fecha de Ingreso: noviembre-2009
Mensajes: 37
Antigüedad: 14 años, 4 meses
Puntos: 0
intercambiar 2 string de pocision con mysql

Saludos tengo un campo en una tabla en mysql donde guardo una lista de nombres de medicos con diferentes turnos en un dia la idea es que si un medico esta el dia 4 de 7am a 7pm pueda cambiar de turno ese mismo dia con el 7pm a 7am como hago para cambiar a roberto portobanco por jose cubero?
ejemplo :
Dr.Jose Cubero Jimenez
Entrada:07 Salida:19
Dr.Roberto Portobanco Orozco
Entrada:19 Salida:07
Dra.Mercedes Zuñiga Umaña
Entrada:10 Salida:22
Eso esta guardado en un campo varchar con saltos de linea incluidos, alguien sabe algun codigo para poder intercambiar 2 string de posicion?
Lo intente con campo=replace(campo,'jose cubero',' roberto portobanco') ,campo=replace(campo,'roberto portobanco',' jose cubero')pero me crea 2 jose o 2 roberto, osea me hace solo un cambio.
Se despide agradecido:
Jonathan Caballero Cortes.
  #2 (permalink)  
Antiguo 01/08/2015, 19:51
 
Fecha de Ingreso: noviembre-2009
Mensajes: 37
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: intercambiar 2 string de pocision con mysql

Sludos encontre la solucion haciendo esto:
En una sentencia sql
Campo=replace(campo,'valorsust','roberto')
En otra sentencia
Campo=replace (campo,'roberto, 'jose),
Campo=replace (campo, 'valorsust','jose')
La idea es evitar la duplicidad que generaria hacer esto:
Campo=replace (campo, 'jose', 'roberto'), campo=(campo,'roberto','jose')
  #3 (permalink)  
Antiguo 02/08/2015, 05: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: intercambiar 2 string de pocision con mysql

A ver vamos por partes, en tu tabla tienes los nombres de los doctores?? si es asi no seria mejor en lugar de esa estructura tener mejor un catalogo con los nombres de los doctores algo como esto:

Horarios-Doc
Id_doc 1
Id_entrada 1
id_doc 2
Id_entrada 2
id_doc 3
Id_entrada 3



Doctores
Id 1 Nombre Dr.Jose Cubero Jimenez
Id 2 Nombre Dra.Mercedes Zuñiga Umaña
Id 3 Nombre Dr.Roberto Portobanco Orozco


Y otra tabla con los horarios(que creo son fijos que no??)

id_horario Entrada salida
1 07 19
2 19 10
3 10 22


Y para hacer un cambio harias esto:

Código MySQL:
Ver original
  1. Update Horarios-doc
  2. set id_entrada=2
  3. where id_doc=1
  4.  
  5. Update horarios-doc
  6. set id_entrada=1
  7. where id_doc=2
Creo que algo mucho mejor que andar cambiando los nombres de los doctores no???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 02/08/2015 a las 05:25
  #4 (permalink)  
Antiguo 02/08/2015, 14:12
 
Fecha de Ingreso: noviembre-2009
Mensajes: 37
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: intercambiar 2 string de pocision con mysql

Saludos. Te comento: los horarios pueden cambiar en cualquier momento dado que es de un hospital y cambia segun demanda y posibilidades de los medicos, en un solo dia trabajan hasta 15 médicos en un servicio y para hacer un cambio de rol debe quedar en una boleta firmada por los medicos y mantener un horario original y otro con las modificaciones del mes para proceder con los pagos de las guardias.
  #5 (permalink)  
Antiguo 03/08/2015, 12:16
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: intercambiar 2 string de pocision con mysql

Ok, con la estructura que te propongo puedes hacer los cambios que necesites :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 03/08/2015, 20:28
 
Fecha de Ingreso: noviembre-2009
Mensajes: 37
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: intercambiar 2 string de pocision con mysql

Tengo una tabla con los nombres de los médicos su codigo y especialidad, luego tengo la tabla horarios con 31 campos de tipo varchar donde por medio de un select cargado desde php meto en cada campo en nombre de los medicos que laboran ese dia luego simplemente en yn select escojo los medicos del dia y los muestro en una tabla... para hacer lo que me sugieres no entiendo como hacerlo.
O sea los nombres existen en 2 tablas menudo rollo eh...
Como haria con los insert y los delete, y como seleccionaria para saber que dia esta un médico
  #7 (permalink)  
Antiguo 04/08/2015, 12:40
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: intercambiar 2 string de pocision con mysql

los nombres en 2 tablas??? desde ahi estas mal, solo tendrias que usar el id del medico no el nombre, para un horario lo mas sencillo para una base de datos es tener una tabla con los horarios, y una tabla con los medicos, para que quede de la forma en que te explico

Horarios-Doc
Id_doc 1
Id_entrada 1
id_doc 2
Id_entrada 2
id_doc 3
Id_entrada 3

Doctores
Id 1 Nombre Dr.Jose Cubero Jimenez
Id 2 Nombre Dra.Mercedes Zuñiga Umaña
Id 3 Nombre Dr.Roberto Portobanco Orozco

id_horario Entrada salida
1 07 19
2 19 10
3 10 22

y asi sea mas facil obtener la info que ocupas
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: campo, intercambiar, sql, string, tabla
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 15:21.