Vecinos sin saberlo
- O(n log n) · Difícil
- Plan completo
- SQL
- uniones
- nulos
Enunciado
La tienda quiere proponer envíos compartidos: dos clientes de la misma ciudad pueden recibir sus pedidos en un solo viaje. Hace falta la lista de parejas posibles.
Por cada pareja de clientes que viven en la misma ciudad, muestra la ciudad y los dos nombres, en ese orden: primero el de quien tiene el id más bajo. Cada pareja sale una sola vez y nadie va emparejado consigo mismo. Quien no tiene ciudad anotada no es vecino de nadie.
Lo que tiene que devolver
Estas filas, en cualquier orden
| ciudad | cliente | vecino |
|---|---|---|
| Lima | Ana | Bruno |
| Lima | Ana | Valeria |
| Bogotá | Luis | Camila |
| Lima | Valeria | Bruno |
Es lo que sale con los datos de la base de práctica del reto. Los nombres de las columnas no cuentan, las tuyas pueden llamarse como quieras: cuenta cuántas son y en qué orden van. Además de esta, el reto tiene pruebas ocultas con otros datos, que se revelan al enviar tu solución.
Empiezas con esto
SQL
SELECT c.ciudad,
c.nombre AS cliente,
v.nombre AS vecino
FROM clientes c
JOIN clientes vSe abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.
Más retos de O(n log n)
- ¿Qué me puedo llevar?SQL · subconsultas · nulos · uniones
- Baja, media y altaSQL · agrupar · condicionales · ordenar
- Cabos sueltosSQL · conjuntos · subconsultas · nulos
- Caras nuevasSQL · subconsultas · agrupar · uniones
- Con las manos vacíasSQL · subconsultas · nulos · agrupar
- Dos a la vezSQL · uniones · nulos · comparaciones