Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Sacar 3 resultados de 2 tablas

Estas en el tema de Sacar 3 resultados de 2 tablas en el foro de Mysql en Foros del Web. Hola buenas, lo que ando intentando es sacar 3 datos de 2 tablas diferentes. las consultas que tengo son estas: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver ...
  #1 (permalink)  
Antiguo 19/08/2014, 06:01
 
Fecha de Ingreso: enero-2007
Ubicación: Delante de un Pc
Mensajes: 26
Antigüedad: 17 años, 3 meses
Puntos: 0
Pregunta Sacar 3 resultados de 2 tablas

Hola buenas, lo que ando intentando es sacar 3 datos de 2 tablas diferentes. las consultas que tengo son estas:

Código SQL:
Ver original
  1. SELECT fecha_descargas_dia, SUM(num_descargas_dia) num_descargas_dia FROM descargas_dia GROUP BY fecha_descargas_dia ASC

que devuelve estos datos

Código SQL:
Ver original
  1. |2014-08-01|1
  2. |2014-08-02|7
  3. |2014-08-03|10
  4. |2014-08-04|11
  5. |2014-08-05|8

y esta otra:
Código SQL:
Ver original
  1. SELECT fecha_instalaciones_dia, SUM(num_instalaciones_dia) num_instalaciones_dia FROM instalaciones_dia GROUP BY fecha_instalaciones_dia ASC

que devuelve estos datos

Código SQL:
Ver original
  1. |2014-08-01|2
  2. |2014-08-02|20
  3. |2014-08-03|15
  4. |2014-08-04|12
  5. |2014-08-05|5

Lo que llevo 3 horas intentando es que me de el mismo día con lo 2 datos de las tablas

Código SQL:
Ver original
  1. |2014-08-02|7|20

Intente con el UNION pero solo me saca 2 columnas.

Espero que me puedan ayudar.

Un saludo y mil gracias de antemano!
  #2 (permalink)  
Antiguo 19/08/2014, 06:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Sacar 3 resultados de 2 tablas

La primera consulta lee la tabla de "descargas_día", mientras que la segunda la "instalaciones_dia". A primera vista no parece que sean datos relacionables, o al menos no hay una relación manifiesta en las entidades que parecen representar.
Si no existe una relación de algún tipo, por ejemplo las descargas de X software, mas instalaciones de X software, es decir un elemento que podría ser "software" que vincule ambos conceptos, no puedes hacer una query que devuelva ambas cosas. Seria como el viejo "sumar caballos con manzanas".
Y... NO, la fecha no sirve si se da al menos un día donde haya descargas sin instalaciones o viceversa. La relación debe ser una que se cumpla siempre para al menos una de ambas tablas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 19/08/2014, 06:49
 
Fecha de Ingreso: enero-2007
Ubicación: Delante de un Pc
Mensajes: 26
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Sacar 3 resultados de 2 tablas

Entendido, gracias por la respuesta
  #4 (permalink)  
Antiguo 19/08/2014, 07:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Sacar 3 resultados de 2 tablas

¿Exactamente qué es lo que deseas mostrar en esa consulta?
Si el tema es los movimientos de descargas e instalaciones por día, necesitarás algo que permita determinar qué días hay datos y sobre esa base crear la consulta. El único problema es lo ya mencionado: si la fecha no existe en un o de los listados, necesitarías una tabla temporal o bien manejarlo en la etapa de programación de la aplicación. Ya no podrías por SQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 19/08/2014, 10:52
 
Fecha de Ingreso: enero-2007
Ubicación: Delante de un Pc
Mensajes: 26
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Sacar 3 resultados de 2 tablas

Lo que pretendo es sacar 3 datos para generar unas estadísticas, esas estadísticas me piden que ponga 3 datos la fecha y y las descargas e instalaciones de ese día. Y llevo 4 días pegándome con eso y ya no se como hacerlo, no me importa generar las tablas de nuevo o otra forma, pero ya he probado casi de todo y no se como hacerlo. Alguna idea gnzsoloyo?

Gracias por la respuesta.
  #6 (permalink)  
Antiguo 19/08/2014, 11:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Sacar 3 resultados de 2 tablas

Lo siento, pero sin ver la estructura de tablas involucradas, algunos datos de muestra, y un ejemplo de lo que quieres obtener, lo que describes es un poco vago.
Si lo que quieres es un reporte de X cosas basado en tiempo, pero donde deben aparecer incluso las fechas que no registran movimientos en algún rubro, hay dos opciones: O diseñas programáticamente el reporte, que se llena con los datos de las consultas por separado y resolviendo las fechas en la aplicación, o bien creas una tabla temporal con las fechas del rango solicitado, y resuelves una única consulta con INNER y LEFT JOIN sobre esas tablas.
En el segundo caso yo te recomendaría usar stored procedures.

¿Podrías postear la estructura de las tablas, un ejemplo de datos y una muestra de cómo quedaría la tabla resultados según lo que debes hacer?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 19/08/2014, 11:33
 
Fecha de Ingreso: enero-2007
Ubicación: Delante de un Pc
Mensajes: 26
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: Sacar 3 resultados de 2 tablas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Lo siento, pero sin ver la estructura de tablas involucradas, algunos datos de muestra, y un ejemplo de lo que quieres obtener, lo que describes es un poco vago.
Si lo que quieres es un reporte de X cosas basado en tiempo, pero donde deben aparecer incluso las fechas que no registran movimientos en algún rubro, hay dos opciones: O diseñas programáticamente el reporte, que se llena con los datos de las consultas por separado y resolviendo las fechas en la aplicación, o bien creas una tabla temporal con las fechas del rango solicitado, y resuelves una única consulta con INNER y LEFT JOIN sobre esas tablas.
En el segundo caso yo te recomendaría usar stored procedures.

¿Podrías postear la estructura de las tablas, un ejemplo de datos y una muestra de cómo quedaría la tabla resultados según lo que debes hacer?
.

Hola gnzsoloyo, gracias por tu paciencia, al final lo he conseguido. Mira la forma de poder unificar las 2 tablas en 1 sola y resulto.

Gracias por todo!!

Etiquetas: resultados, select, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:41.