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

[SOLUCIONADO] Como combinar dos consultas sin perder filas

Estas en el tema de Como combinar dos consultas sin perder filas en el foro de Bases de Datos General en Foros del Web. Hola, He hecho dos consultas que funcionan. Una da como resultado 10 filas y la otra 8 filas. Las dos consultas las hago sobre tres ...
  #1 (permalink)  
Antiguo 24/11/2012, 04:20
Avatar de fpalomar  
Fecha de Ingreso: noviembre-2003
Mensajes: 123
Antigüedad: 21 años
Puntos: 3
Como combinar dos consultas sin perder filas

Hola,

He hecho dos consultas que funcionan. Una da como resultado 10 filas y la otra 8 filas. Las dos consultas las hago sobre tres tablas, como ejemplo sera asi:

consulta 1: tabla A y B : resultado 10 filas
consulta 2: tabla A y C : resultado 8 filas

Se que existe lo de INNER JOIN Y OUTER JOIN pero he probado y el resultado solo me salen 3 filas cuando yo quiero que esten las 10 filas.

¿Cómo puedo hacerlo?
  #2 (permalink)  
Antiguo 26/11/2012, 03:26
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 9 meses
Puntos: 89
Respuesta: Como combinar dos consultas sin perder filas

Depende de lo que quieras exactamente. ¿Quieres 10 filas o 18 filas? ¿Qué almacenas en cada tabla? ¿Qué quieres sacar exactamente? ¿Qué has probado?
  #3 (permalink)  
Antiguo 26/11/2012, 04:09
Avatar de fpalomar  
Fecha de Ingreso: noviembre-2003
Mensajes: 123
Antigüedad: 21 años
Puntos: 3
Respuesta: Como combinar dos consultas sin perder filas

Hola,

Pues creo que depués de estar tantas horas conté mal las filas. He probado INTERSECT y UNION y ya me he dado cuenta de que por ahí no van las cosas.

- La primera consulta da como resultado 11 filas que son las que quiero.(alamancen manda en la consulta)
Almacen, superficie total, departamentos

- La segunda da como resultado 16 filas.
tipo de almacen, veces que se ha usado, fecha, armarios

Primera consulta
Código:
SELECT almacen, 
SUM (medida) AS superficie_total,
COUNT (almacen) AS num_departamentos
FROM departamentos
GROUP BY almacen
HAVING ( COUNT(almacen) > 0 );
Segunda consulta
Código:
SELECT tipo_almacen, veces_usado, fecha,
COUNT (fecha) AS armarios
FROM evento
GROUP BY tipo_almacen, veces_usado, fecha
HAVING ( COUNT(fecha) > 0 )
ORDER BY fecha ASC;
La estructura de las tablas es

- departamentos (Almacen, num_de_departamento, medida)
- evento (tipo_almacen, veces_usado, fecha, almacen)

Lo que me gustaria poder hacer, si es que se puede, es que como por separado las consultas funcionan, poder unirlas.

Saludos y gracias
  #4 (permalink)  
Antiguo 26/11/2012, 08:37
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 9 meses
Puntos: 89
Respuesta: Como combinar dos consultas sin perder filas

No se pueden unir por una simple razón, en una cuentas almacenes y en la otra fechas, es como sumar peras y manzanas.

Sigo sin entender qué quieres exactamente.
  #5 (permalink)  
Antiguo 26/11/2012, 08:40
Avatar de fpalomar  
Fecha de Ingreso: noviembre-2003
Mensajes: 123
Antigüedad: 21 años
Puntos: 3
Respuesta: Como combinar dos consultas sin perder filas

La consulta general tiene que dar como resultado las columnas:

[almacen][superficie_total][num_departamentos][tipo_almacen][veces_usado][ fecha][armarios]

Saludos
  #6 (permalink)  
Antiguo 26/11/2012, 10:08
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 9 meses
Puntos: 89
Respuesta: Como combinar dos consultas sin perder filas

¿Y los armarios se obtienen de contar fechas? No entiendo nada...
  #7 (permalink)  
Antiguo 26/11/2012, 11:28
Avatar de fpalomar  
Fecha de Ingreso: noviembre-2003
Mensajes: 123
Antigüedad: 21 años
Puntos: 3
Respuesta: Como combinar dos consultas sin perder filas

Hola,

Lo hago para saber cuando se ha usado el armario, ya que solo se puede usar una vez

Saludos

Etiquetas: combinar, filas, perder, tabla
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 09:08.