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

[SOLUCIONADO] Como puedo mostrar los 2 datos distintos en una sentencia

Estas en el tema de Como puedo mostrar los 2 datos distintos en una sentencia en el foro de Mysql en Foros del Web. Buenas, tengo en una tabla campo id, nombre, grupo y quiero mostrar los id repetidos pero solo 1 vez y mostrar ambos grupos en un ...
  #1 (permalink)  
Antiguo 20/02/2014, 13:08
 
Fecha de Ingreso: enero-2014
Mensajes: 111
Antigüedad: 10 años, 3 meses
Puntos: 1
Como puedo mostrar los 2 datos distintos en una sentencia

Buenas, tengo en una tabla campo id, nombre, grupo y quiero mostrar los id repetidos pero solo 1 vez y mostrar ambos grupos en un solo id. no se si se puede

ej

id - nombre - grupo
1 - jorge - 001
2 - juan - 003
1 - jorge - 002

la idea es mostrar los sgte

id - nombre - grupo1 - grupo2
1 - jorge - 001 - 002

Saludos y gracias por la ayuda
  #2 (permalink)  
Antiguo 20/02/2014, 20:53
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Como puedo mostrar los 2 datos distintos en una sentencia

Hola JorgeQuirino:

Mostrar los registros en columnas separadas es un tanto complicado, sin embargo, puedes darle un vistazo a la función GROUP_CONCAT

Lo que hace la función es concatenar todas los grupos distintos que tiene cada persona, separándolos por comas, es decir, algo como esto:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +------+--------+-------+
  3. | id   | nombre | grupo |
  4. +------+--------+-------+
  5. |    1 | jorge  | 001   |
  6. |    2 | juan   | 003   |
  7. |    1 | jorge  | 002   |
  8. +------+--------+-------+
  9. 3 rows in set (0.07 sec)
  10.  
  11. mysql> SELECT id, nombre, GROUP_CONCAT(grupo) grupos
  12.     -> FROM tabla GROUP BY id, nombre;
  13. +------+--------+---------+
  14. | id   | nombre | grupos  |
  15. +------+--------+---------+
  16. |    1 | jorge  | 001,002 |
  17. |    2 | juan   | 003     |
  18. +------+--------+---------+
  19. 2 rows in set (0.01 sec)

Si te interesa encontrar sólo aquellos registros que están duplicados, simplement agrega en la cláusula HAVING una condición para mostrar sólo aquellos donde el COUNT(*) sea mayor a 1.

Saludos
Leo.
  #3 (permalink)  
Antiguo 21/02/2014, 06:13
 
Fecha de Ingreso: enero-2014
Mensajes: 111
Antigüedad: 10 años, 3 meses
Puntos: 1
Respuesta: Como puedo mostrar los 2 datos distintos en una sentencia

Gracias Men corrio excelente. Se agradese !

Etiquetas: campo, distintos, sentencia, 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 00:34.