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 (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
Val: 2.542
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Como unir registros con campos iguales de una misma tabla ?

Publicado por Isaias (1921 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
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Como unir registros con campos iguales de una misma tabla ?

Publicado por leonardo_josue (1173 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
Imágen de perfil de Andry
Val: 2
Ha disminuido su posición en 29 puestos en SQL (en relación al último mes)
Gráfica de SQL

Como unir registros con campos iguales de una misma tabla ?

Publicado por Andry (1 intervención) el 07/02/2018 16:40:08
Que Maravilloso, llevaba semanas tratando de mostrar unos montos de unas primas en un sistema de nominas y de verdad esto me salvo.


SELECT *, GROUP_CONCAT(prima_id) primas, GROUP_CONCAT(monto_prima) monto
FROM nomina inner join trabajadores trabajador_id=id_trabajador where num_nomina='004'
GROUP BY trabajador_id
HAVING COUNT(trabajador_id)>='1'


esta es la adaptación que le coloque, y me trae:

TODOS LOS DATOS DE MI TRABAJADOR | PRIMAS | MONTO
Maria Jose Vargas | 1,2 | 2000, 3000
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 Gero (1 intervención) el 31/07/2020 01:11:05
Que bien que sigue posteado me ayudo en una consulta que andaba buscando, para hacer algo identico
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 Alejandro (1 intervención) el 20/04/2022 07:51:31
Muchas gracias leonardo_josue, fue de mucha utilidad
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