SQL - Como unir registros con campos iguales de una misma tabla ?

   
Vista:

Como unir registros con campos iguales de una misma tabla ?

Publicado por David dbistotto@yahoo.com.ar (2 intervenciones) el 27/04/2015 23:29:40
[Buenas tardes... Quiero unir campos de una misma tabla que estan en distintos registros....
Este es un ejemplo con mi tabla

] DNI TELEFONO
11111111 4551274
99999999 153244566
33333333 4578221
22222222 4444222
33333333 153224511
88888888 4548421
99999999 4444222



Como los dni se repiten solo quero uno pero no quiero perder el telefono, asi que lo que busco es unir ese campo de esta forma.....

DNI TELEFONO
99999999 153244566 / 4444222
33333333 4578221 / 153224511

Los demas datos, telefonos únicos, pueden o no estar no importa.

Yo hice lo siguiente......

SELECT DNI, Count(*)
FROM tabla
GROUP BY DNI, TELEFONO
HAVING COUNT(*) = 1))
FROM existente;


Pero solo me indica los dni que se repiten y nada mas, no los puedo unir........

Desde ya, 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
Imágen de perfil de Isaias

Como unir registros con campos iguales de una misma tabla ?

Publicado por Isaias (690 intervenciones) el 28/04/2015 00:04:17
¿En que motor de base de datos?

Verifica si te sirve PIVOT
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

Como unir registros con campos iguales de una misma tabla ?

Publicado por david (2 intervenciones) el 28/04/2015 00:09:09
Estoy trabajando con Navicat, armando consultas SQL usando a MySQL de XAMPP.
Estoy armando todo tipo de consultas pero no logro hacerlo, la ultima tampoco me funca..

SELECT *
FROM tabla
INNER JOIN
(SELECT dni,TELEFONO, COUNT(*)
FROM tabla
GROUP BY dni
HAVING COUNT(*) > 1) as bb
on tabla.dni = bb.dni
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

Como unir registros con campos iguales de una misma tabla ?

Publicado por leonardo_josue (877 intervenciones) el 28/04/2015 16:17:09
Hola David:

En MySQL existe la función GROUP_CONCAT que hace lo que quieres...

https://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

La consulta quedaría más o menos así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
mysql> SELECT * FROM tabla;
+----------+-----------+
| DNI      | TELEFONO  |
+----------+-----------+
| 11111111 | 4551274   |
| 99999999 | 153244566 |
| 33333333 | 4578221   |
| 22222222 | 4444222   |
| 33333333 | 153224511 |
| 88888888 | 4548421   |
| 99999999 | 4444222   |
+----------+-----------+
7 rows in set (0.00 sec)
 
mysql> SELECT dni, GROUP_CONCAT(telefono) telefonos
    -> FROM tabla
    -> GROUP BY dni
    -> HAVING COUNT(dni)>1;
+----------+-------------------+
| dni      | telefonos         |
+----------+-------------------+
| 33333333 | 4578221,153224511 |
| 99999999 | 153244566,4444222 |
+----------+-------------------+
2 rows in set (0.00 sec)

Haz la prueba y nos comentas

Saludos
Leo.
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