Cita:
Iniciado por mortisdj Buenas tengo una tabla ps_direcciones con los campos ID, via, direccion, numero puerta y me gustaría juntar via, direccion, numero y puerta en el campo de direccion.
Esta unificación se ha de poder hacer por ID, vamos... juntar campos de la ID 1 a la 100, por ejemplo.
Lo que he de hacer es lo siguiente...
ID, via, direccion, numero, puerta
1, calle, las barcas, 12, 12
Y que me lo deje así...
1, calle, calle las barcas 12-12, 12, 12
Gracias
Pues vamos al punto: En qué lo ejecutes, es relevante, porque hay cosas que no se deben hacer en una base de datos, y cosas quye se pueden hacer mejor con programación.
Desde el punto de vista de BBDD, el que tengas los datos separados por via, dirección (calle), numero y puerta, es total y absolutamente correcto, y es eficiente para lograr consultas optimizadas.
Ahora bien, si lo que quieres es
mostrar los datos de una determinada forma, eso es algo que puedes resolver al mismo tiempo en programación, o en una consulta, sin necesidad de "ensuciar" los datos, juntando todo en un único campo.
REspecto a "juntar todo" en una query, se hace con CONCAT(), cosa que puedes ver en el manual de referencia de MySQL, y sólo tendrías la complicación de asegurarte de cosniderar aquellos casos done to están presentes todos los datos en un mismo registro (es decir, cuando alguno no ha sido ingresado o no existe porque no corresponde al caso).
Por otro lado, la misma lógica puedes aplicar en la aplicación, y programarla para que te presente los datos de esa forma, sin necesidad, como dije, de ensuciar los datos de la base.
Ten muy presente que los atributos tienen un dominio, y no es correcto, ni conveniente, mezclar dominios que luego, por razones de consultas, necesitarás evaluar por separado.