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

unir dos campos de una tabla y almacenarlo

Estas en el tema de unir dos campos de una tabla y almacenarlo en el foro de Mysql en Foros del Web. Hola, me gustaría que me ayuden en como unir 2 campos de una tabla y almacenarlos en otro campo de la misma tabla. supongamos que ...
  #1 (permalink)  
Antiguo 08/01/2012, 17:42
airknightz
Invitado
 
Mensajes: n/a
Puntos:
Sonrisa unir dos campos de una tabla y almacenarlo

Hola, me gustaría que me ayuden en como unir 2 campos de una tabla y almacenarlos en otro campo de la misma tabla.

supongamos que tuviera la siguiente tabla:

create table persona(
nombre varchar(60),
paterno varchar(60),
materno varchar(60),
completo varchar(180)
);

y requiero almacenar la data contenida en los campos nombre, paterno y materno en completo.

Tengo idea de que podría usarse una sentencia update.

Asunto solucionado
update `persona` SET `completo`=concat_ws(`nombre`,`paterno`,`materno`);

Última edición por airknightz; 08/01/2012 a las 18:06
  #2 (permalink)  
Antiguo 08/01/2012, 18:43
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: unir dos campos de una tabla y almacenarlo

¡Genial! Una potencial inconsistencia de datos en una sola tabla...
Habrías reprobado Bases de Datos I con sólo proponerlo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 08/01/2012, 18:47
airknightz
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: unir dos campos de una tabla y almacenarlo

Solo me centro en la función concat. La tabla es una suposición.
  #4 (permalink)  
Antiguo 08/01/2012, 19:15
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: unir dos campos de una tabla y almacenarlo

Almacenar dos veces la misma información, se considera redundancia y con la redundancia sobreviene la inconsistencia, cuando por alguna razón imprevista debe realizarse una actualización en uno de los campos, mientras que el repetido no se actualice por errores de proceso.
Además, implica hacer dos veces el almacenamiento y usar el doble de espacio.
En los hechos produce muchos problemas y nuca produce ventajas.
Todo lo que se pueda considera redundancia e inconsistencia es un error de diseño en una base de datos.
Si te centras en una función, como dices, y no en la estructura de los datos, estás poniendo el carro delante de los caballos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 09/01/2012, 00:39
airknightz
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: unir dos campos de una tabla y almacenarlo

Hola gnzsoloyo, el asunto es el siguiente:
Tengo una tabla denominada ubigeo que consta de los campos departamento, provincia, distrito. Cada campo consta de dos caracteres que pueden ser desde el '00' hasta el '99'.
Posterior a esto requiero listar los datos de los campos en combos box, por ejemplo cuando seleccione departamento me muestre las provincias relacionadas a lo seleccionado, igualmente cuando seleccione una provincia me muestre los distritos. Adicionalmente en otra tabla (articulo) voy a tener que incorporar el código resultante de la unión de departamento, provincia y distrito más un correlativo.

Erradamente tenia la idea de mejor considerar un código único (departamento+provincia+distrito) en la tabla ubigeo para agilizar la búsqueda y no estar consultando por mas campos.

Espero tu opinión.

Etiquetas: almacenar, innodb
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 20:37.