SQL - Buscar duplicados a-b o b-a (emparejamientos)

 
Vista:

Buscar duplicados a-b o b-a (emparejamientos)

Publicado por riquezamental (2 intervenciones) el 26/07/2019 08:46:19
Muy buenos días a todos,

Tengo una tabla con varios campos y quiero recuperar solo aquellos registros sin duplicados indiferente del orden en dos campos. Espero que con el ejemplo pueda aclarar mi necesidad.

1
2
3
4
5
6
7
8
9
10
11
12
13
+-------------+-------------+
| trabajador1 | trabajador2 |
+-------------+-------------+
| carlos      | miguel      |
+-------------+-------------+
| miguel      | carlos      |
+-------------+-------------+
| antonio     | jesus       |
+-------------+-------------+
| jesus       | miguel      |
+-------------+-------------+
| jesus       | antonio     |
+-------------+-------------+

El resultado me gustaría que descartara aquellas coincidencias que solo varían en el orden, ejemplo resultado:

1
2
3
4
5
6
7
8
9
+---------------+---------------+
| trabajador1 | trabajador2 |
+-------------+---------------+
| carlos      | miguel      |
+-------------+-------------+
| antonio     | jesus       |
+-------------+-------------+
| jesus       | miguel      |
+-------------+-------------+

Se descarta miguel - carlos ya que es igual que carlos-miguel y tambien se descarta jesus - antonio porque es igual que antonio-jesus.

Siento si no he sabido explicarme mejor, agradezco cualquier pista para resolver esta cuestión, muchas gracias de antemano.

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

Buscar duplicados a-b o b-a (emparejamientos)

Publicado por Isaias (1578 intervenciones) el 27/07/2019 00:02:43
Tu problema esta en el diseño de tabla y tal vez, en la política de insertar los registros, no cabe duda que un usuario podría ponerte "MARIA AZUCENA" en el Apellido Paterno, o bien, poner "SANCHEZ" en el nombre, pero lo que tu necesitas es un proceso de LIMPIEZA DE DATOS.

No se que motor utilices, ¿podrías mencionarlo?
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

Buscar duplicados a-b o b-a (emparejamientos)

Publicado por riquezamental (2 intervenciones) el 27/07/2019 09:28:46
Muchas gracias por tu rápida respuesta.

Lo que quiero conseguir es saber las parejas de trabajadores, que han trabajado juntos. Cada trabajo lo realizan 2 trabajadores. La introducción de cada uno es aleatoria, ya que se le asigna un trabajo a un trabajador y a posteriori se asigna el trabajador2.

Así para saber que parejas han trabajado juntas quiero eliminar los duplicados tanto de A y B, como los coincidentes de B y A.

Está base de datos corre en Microsoft SQL Server.

Un saludo y muchas gracias
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