Access - Unir dos consultas en access para obtener una tercera...!!!

 
Vista:

Unir dos consultas en access para obtener una tercera...!!!

Publicado por Constanza (1 intervención) el 19/07/2011 23:17:37
Hola a todos. espero que me puedan ayudar, estoy con un problema gigante y no se como unir dos consultas:

Consulta 1:

SELECT listado_equipos.nombre_equipo, Count(listado_equipos.familia) AS Total_EQ FROM listado_equipos
GROUP BY listado_equipos.nombre_equipo, listado_equipos.familia;
Resultado Consulta 1:

Nombre_equipo Total_EQ
xxxxxxx 7
yyyyyyy 2
hhhhh 7
ggggg 9
aaaaa 7

Consulta 2:

SELECT listado_equipos.nombre_equipo, Count(listado_equipos.familia) AS Falla
FROM listado_equipos INNER JOIN equipos ON listado_equipos.numero_unico = equipos.numero_unico
WHERE (((equipos.rechazado_aprobado)<>1) AND ((equipos.estado)="Inoperativo"))
GROUP BY listado_equipos.nombre_equipo, listado_equipos.familia;


Nombre_equipo Falla
xxxxxxx 2
yyyyyyy 1
aaaaa 5

Lo que quiero es unir estas dos consultas y me entregue lo siguiente:

Nombre_equipo Total_EQ Falla %
xxxxxxx 7 2 29
yyyyyyy 2 1 50
hhhhh 7 0 100
ggggg 9 0 100
aaaaa 7 5 71

Espero que me hallan entendido y me puedan ayudar, ya que nose como hacer esto.

Gracias a todos.
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

Unir dos consultas en access para obtener una tercera...!!!

Publicado por Constanza (1 intervención) el 19/07/2011 23:22:42
Me di cuenta que no ven bien los resultado de las tablas:

Resultado consulta 1

Nombre_equipo | Total_EQ
xxxxxxx ----------------- 7
yyyyyyy ------------------ 2
hhhhh -------------------7
ggggg -------------------9
aaaaa -------------------7


Resultado consulta 2

Nombre_equipo | Falla
xxxxxxx ------------------ 2
yyyyyyy ------------------ 1
aaaaa ------------------ 5
Lo que quiero es unir estas dos consultas y me entregue lo siguiente:

Nombre_equipo | Total_EQ | Falla | %
xxxxxxx ------------------- 7 ---------- 2 --- 29
yyyyyyy ------------------- 2 -----------1 ----50
hhhhh --------------------7 -----------0 ----100
ggggg --------------------9 -----------0 -----100
aaaaa --------------------7 -----------5 ------71
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

Unir dos consultas en access para obtener una tercera...!!!

Publicado por jose (830 intervenciones) el 20/07/2011 18:04:02
las dos primeras consultas, bien

la tercera los ceros de los fallos, si no estan escritos no saldrán, lo único que te puede salir es un campo en blanco .


solo se me ocurre que crees una tabla nueva y temporal que funcionaría as&#7727;:
1 primero borras lla tabla entera consulta de eliminacion
2 una consulta de datos anexados en donde pones los datos de los equipos
3.- una consulta de actualizacion donde pones los datos de la consulta 1 Total EQ
4.- una consulta de actualización que pone 0 si EQ ES NULO
5 UNA consulta de actualización donde pones el campo falla
6 una consulta de actualizacion donde pones el campo falla si es nulo a 0

con esto ya puedes luego hacer una consulta y calcular el porcentaje

la idea es simple pero un poco laboriosa

posiblemente haya mejores soluciones pero esta es la que se me ocurre así de pronto

un salludo
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

Unir dos consultas en access para obtener una tercera...!!!

Publicado por Constanza (1 intervención) el 20/07/2011 20:49:24
Hola jose gracias por tu respuesta, pero sabes que hice la siguinete consulta que me funciona casi bien...solo me falta un detalle que no se como hacerlo...

SELECT [nombre/total_eq].nombre_equipo, [nombre/total_eq].Total_EQ, IIf([nombre/total_eq].nombre_equipo<>[equipo/falla].nombre_equipo,0,[equipo/falla].falla) AS FALLA
FROM [nombre/total_eq], [equipo/falla]
GROUP BY FALLA, [equipo/falla].nombre_equipo,[nombre/total_eq].nombre_equipo,[nombre/total_eq].Total_EQ;

y esta consulta me trae lo sieguiente:

Nombre_equipo | Total_EQ | Falla
xxx -----------------------7.------------0
yyy -----------------------11 ----------2
aa -----------------------8 ------------0
xxx------------------------7 ------------0
yyy ------------------------11 ----------0
aa -------------------------8 -----------1

Entonces si te das cuenta como que pasa una vez muestra la falla de uno y luego pasa otra vez y muentra la fallade otro, y no se como hacer para que solo aparezca la buesqueda una vez, y no repita...es decir que deje así el resultado con 3 registros:

Nombre_equipo | Total_EQ | Falla
xxx -----------------------7.------------0
yyy -----------------------11 ----------2
aa -----------------------8 ------------1

yo creo que en group by esta mal, ya que estan [equipo/falla].nombre_equipo,[nombre/total_eq].nombre_equipo, pero si saco uno de ellos marca error la consulta...

espero de tu ayuda...gracias....
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