SQL - concatenar valores

   
Vista:

concatenar valores

Publicado por Carla  (3 intervenciones) el 12/06/2008 15:53:00
Hola,

Mi base de datos es MySQL - 5.0.22

Tengo una tabla cliente con un id de la direccion IP,

Tengo una tabla client_direccionIP que tiene como campos el ID de la direccion Ip, la direccion Ip y el id del cliente.

Un cliente que puede tener varias direcciones ip. El problema es que necesito concatenar las direcciones ip en una solo campo es decir:

nombre: carla direccion ip: 127.0.0.1 / 189.12.12.12 / 123.87.9.8

Y no cada direccion ip por separado

nombre: carla direccion ip : 127.0.0.1

nombre: carla direccion ip : 1289.12.12.12

nombre: carla direccion ip : 123.87.9.8

No se si es posible de hacer eso con SQL.

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:concatenar valores

Publicado por Carla  (3 intervenciones) el 12/06/2008 16:58:37
Ya encontre la funcion que me lo permite hacer.
group_concat().
Aqui les doy un ejemplo de como se utiliza.

select ( select group_concat(adresse_ip.adresse_ip SEPARATOR ' / ') from adresse_ip , client as cli
where adresse_ip.client_id = cli.cli_id
and client.sarp_user_id = cli.sarp_user_id )
from client, ,adresse_ip
where client.agence_id = agence.agence_id
and adresse_ip.client_id = client.client_id
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:concatenar valores

Publicado por Leandro (3 intervenciones) el 12/06/2008 21:29:53
La solución que encontraste, si bien resuelve tu problema a la hora de listar todas las IP's de un cliente, sigue insertando las IP's en distintos registros, por lo tanto estas duplicando información (el nombre por ejemplo). Quizás podrías solucionaarlo a la hora de guardar los datos y no al buscarlos.
Tendrías dos casos distintos a la hora de guardar la información:
1ro: Que no exista ningún registro en la tabla del con el Id del cliente, en cuyo caso deberías hacer un INSERT.
2do. Que ya exita un registro del cliente al cual tenés que agregarle una nueva IP, para lo cual deberías usar un UPDATE y agregarle una IP a la ya existente.

Leandro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:concatenar valores

Publicado por pacopaz (143 intervenciones) el 12/06/2008 21:39:28
Leandro,
Creo que esto compete más a un debate de requerimientos de tu sistema
En muchos casos he tenido que usar ese tipo de implementación para diferentes casos (teléfonos, domicilios, históricos de atributos, etc) y resultan muy útiles en seguimientos y priorizaciones.
Dado que no sabemos cuales son los requerimientos del caso de nuestra amiga, es justo reconocer que a veces es necesario hacerlo así.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar