Alguna forma de unir estos dos selects?
Publicado por ariargento (1 intervención) el 04/11/2009 12:15:16
Buenas chicos,
Me gustaría unir estos dos selects, que como véis, cogen datos de las mismas tablas, pero cogen distintos datos (una hace con lo ofertado y la otra con lo aceptado).
El primer select:
select
m.nombre||' '||e.ejercicio mes, t.tipoobra,
count(*) num_ofertas,
sum((select (valor) from TotObra(o.obra))) total_ofertado from
ejercicio e, meses m, tipoobra t, obra o where
t.tipoobra=o.tipoobra and
m.mes=extract(month from o.fechaalta) and
e.ejercicio=extract(year from o.fechaalta) and
e.ejercicio=:EJERCICIO and (m.mes between 1 and 12) group by m.mes, m.nombre, e.ejercicio, t.tipoobra order by e.ejercicio, m.mes, t.tipoobra
Y el segundo:
select
m.nombre||' '||e.ejercicio mes, t.tipoobra,
count(*) num_aceptadas,
sum((select (valor) from TotObra(o.obra))) total_aceptado from
ejercicio e, meses m, tipoobra t, obra o where
t.tipoobra=o.tipoobra and
m.mes=extract(month from o.fechaacepta) and
e.ejercicio=extract(year from o.fechaacepta) and
e.ejercicio=:EJERCICIO and (m.mes between 1 and 12) group by m.mes, m.nombre, e.ejercicio, t.tipoobra order by e.ejercicio, m.mes, t.tipoobra
Se os ocurre alguna forma para unir los dos en una única consulta? Lo necesito para el trabajo, y me estoy volviendo loco con mis justos conocimientos de SQL...
Gracias de antemano por la ayuda! :)
Me gustaría unir estos dos selects, que como véis, cogen datos de las mismas tablas, pero cogen distintos datos (una hace con lo ofertado y la otra con lo aceptado).
El primer select:
select
m.nombre||' '||e.ejercicio mes, t.tipoobra,
count(*) num_ofertas,
sum((select (valor) from TotObra(o.obra))) total_ofertado from
ejercicio e, meses m, tipoobra t, obra o where
t.tipoobra=o.tipoobra and
m.mes=extract(month from o.fechaalta) and
e.ejercicio=extract(year from o.fechaalta) and
e.ejercicio=:EJERCICIO and (m.mes between 1 and 12) group by m.mes, m.nombre, e.ejercicio, t.tipoobra order by e.ejercicio, m.mes, t.tipoobra
Y el segundo:
select
m.nombre||' '||e.ejercicio mes, t.tipoobra,
count(*) num_aceptadas,
sum((select (valor) from TotObra(o.obra))) total_aceptado from
ejercicio e, meses m, tipoobra t, obra o where
t.tipoobra=o.tipoobra and
m.mes=extract(month from o.fechaacepta) and
e.ejercicio=extract(year from o.fechaacepta) and
e.ejercicio=:EJERCICIO and (m.mes between 1 and 12) group by m.mes, m.nombre, e.ejercicio, t.tipoobra order by e.ejercicio, m.mes, t.tipoobra
Se os ocurre alguna forma para unir los dos en una única consulta? Lo necesito para el trabajo, y me estoy volviendo loco con mis justos conocimientos de SQL...
Gracias de antemano por la ayuda! :)
Valora esta pregunta


0