MySQL - Relacionar tablas sin campo común.

 
Vista:
Imágen de perfil de Juan José
Val: 13
Ha disminuido 1 puesto en MySQL (en relación al último mes)
Gráfica de MySQL

Relacionar tablas sin campo común.

Publicado por Juan José (6 intervenciones) el 28/06/2017 16:52:09
Hola.

Quisiera saber cómo relacionar 2 tablas que no tienen campos en común, pero que tienen un campo con el mismo tipo de datos.

Tengo 2 tablas, una de ellas con registros de pagos llamada pagos y la otra es una catálogo de fechas de corte que se llama cortes.

La tabla pagos tiene los campos:
1
idPago
1
fechaPago
1
idCliente
1
monto
.

La tabla cortes tiene los campos:
1
idCorte
1
fechaCorte
.

La relación que quiero construir es para saber cuál fue la fecha de corte anterior al pago, por lo que intenté hacer la siguiente unión con las fechas:
1
2
3
4
5
6
7
SELECT
a.idPago,
a.fechaPago,
MAX(b.fechaCorte) AS 'fechaCorte'
FROM pagos a
JOIN cortes b ON (b.fechaPago <= a.fechaCorte)
GROUP BY a.idPago;

Al ejecutar la consulta (query), se queda "pensando" y no me arroja nada. ¿Qué podría estar haciendo mal?

Gracias de antemano.

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

Relacionar tablas sin campo común.

Publicado por xve (1151 intervenciones) el 28/06/2017 18:18:34
Hola Juan, al no haber ninguna clave en la vinculación, dependiendo del numero de registros de las tablas puede estar horas para devolver el resultado. las vinculaciones, no son muy buenas, pero esta revienta la base de datos.

Es mucho mejor, que sabiendo el pago, busques la fecha de corte anterior haciendo una sola consulta a la tabla cortes.
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