Consulta a múltiples tablas
Publicado por Aritz (2 intervenciones) el 22/10/2010 14:58:29
Buenos días,
Llevo varios días buscando soluciones a este problema y no he encontrado nada... ¡Y seguro que alguién lo ha hecho!
El problema es el siguiente. Necesito hacer una consulta a múltiples tablas a la vez para cálcular ciertos parámetros, y además no tengo control sobre la BBDD y sólo puedo realizar consultas.
He conseguido unir las 5 tablas por un lado mediante un INNER JOIN, y consigo sacar el resultado que quiero. Pero por otro lado tengo que juntar 4 de las tablas para que la referencia de la FECHA sea la misma, y esto sólo he conseguido que me funcione usando un WHERE e igualando las 4 fechas de las tablas. El problema es que ésto sólo me permite hacer la consulta de un día.
¿Como podría hacer esto y poder usar un rango temporal?
El FROM de la consulta quedaría así:
FROM tabla1
INNER JOIN tabla2 ON (tabla1.columna1 = tabla2.columna1)
INNER JOIN tabla3 ON (tabla1.columna3 = tabla3.columna1)
INNER JOIN tabla4 ON (tabla1.columna3 = tabla4.columna1)
INNER JOIN tabla5 ON (tabla1.columna3 = tabla5.columna1)
WHERE
tabla2.fecha = tabla3.fecha AND
tabla2.fecha = tabla4.fecha AND
tabla2.fecha = tabla5.fecha
¿Se podría hacer(sé que así no funciona) algo similar a esto?
FROM tabla1
INNER JOIN tabla2 ON (tabla1.columna1 = tabla2.columna1)
INNER JOIN tabla3 ON (tabla1.columna3 = tabla3.columna1)
INNER JOIN tabla4 ON (tabla1.columna3 = tabla4.columna1)
INNER JOIN tabla5 ON (tabla1.columna3 = tabla5.columna1)
AND tabla2
INNER JOIN tabla3 ON (tabla2.fecha = tabla3.fecha)
INNER JOIN tabla4 ON (tabla2.fecha = tabla4.fecha)
INNER JOIN tabla5 ON (tabla2.fecha = tabla5.fecha)
Muchas gracias de antemano
Llevo varios días buscando soluciones a este problema y no he encontrado nada... ¡Y seguro que alguién lo ha hecho!
El problema es el siguiente. Necesito hacer una consulta a múltiples tablas a la vez para cálcular ciertos parámetros, y además no tengo control sobre la BBDD y sólo puedo realizar consultas.
He conseguido unir las 5 tablas por un lado mediante un INNER JOIN, y consigo sacar el resultado que quiero. Pero por otro lado tengo que juntar 4 de las tablas para que la referencia de la FECHA sea la misma, y esto sólo he conseguido que me funcione usando un WHERE e igualando las 4 fechas de las tablas. El problema es que ésto sólo me permite hacer la consulta de un día.
¿Como podría hacer esto y poder usar un rango temporal?
El FROM de la consulta quedaría así:
FROM tabla1
INNER JOIN tabla2 ON (tabla1.columna1 = tabla2.columna1)
INNER JOIN tabla3 ON (tabla1.columna3 = tabla3.columna1)
INNER JOIN tabla4 ON (tabla1.columna3 = tabla4.columna1)
INNER JOIN tabla5 ON (tabla1.columna3 = tabla5.columna1)
WHERE
tabla2.fecha = tabla3.fecha AND
tabla2.fecha = tabla4.fecha AND
tabla2.fecha = tabla5.fecha
¿Se podría hacer(sé que así no funciona) algo similar a esto?
FROM tabla1
INNER JOIN tabla2 ON (tabla1.columna1 = tabla2.columna1)
INNER JOIN tabla3 ON (tabla1.columna3 = tabla3.columna1)
INNER JOIN tabla4 ON (tabla1.columna3 = tabla4.columna1)
INNER JOIN tabla5 ON (tabla1.columna3 = tabla5.columna1)
AND tabla2
INNER JOIN tabla3 ON (tabla2.fecha = tabla3.fecha)
INNER JOIN tabla4 ON (tabla2.fecha = tabla4.fecha)
INNER JOIN tabla5 ON (tabla2.fecha = tabla5.fecha)
Muchas gracias de antemano
Valora esta pregunta


0