Consulta complicadita

22/10/2005 - 16:39 por Tomás Liendo | Informe spam
Hola necesito crear una consulta para comparar la cantidad de actas que se
abrieron en una entidad del gobierno con la cantidad de actas que se
cerraron mensualmente. Tengo las aperturas en una tabla y los cierres en
otra con los siguientes campos mas o menos:

Nro_Acta Fecha Concepto Tipo de Acta .

La salida que necesitaria sería así:

Mes Cantidad de Actas abiertas Cantidad de Actas Cerradas

He hecho muchos intentos, pero siempre las cantidades de actas abiertas y
cerradas me da exactamente igual. Supongo que debo encarar el tema de una
manera totalmente distinta a como lo estoy haciendo. ¿Me dan una mano?

Desde ya muchas gracias,

Tomás.

Preguntas similare

Leer las respuestas

#1 Miguel Egea
22/10/2005 - 20:17 | Informe spam
Así de memoria

select isnull(a.mes,b.mes) mes, Abiertas,Cerradas from
(Select datepart(mm,fecha) mes, count(*) Abiertas from ActasAbiertas group
by datepart(mm,fecha) /* ojo que si hay mas de un año esto no vale por que
te acumula todos los meses independientemente del año */ ) a
full join
(Select datepart(mm,fecha) mes , count(*) Cerradas from ActasCerradas group
by datepart(mm,fecha) /* ojo que si hay mas de un año esto no vale por que
te acumula todos los meses independientemente del año */ ) b
on a.mes=b.mes

Añadele tu where y fijate si hay datos de más de un año, en cuyo caso
deberías agrupar y comparar también por años.

Saludos
Miguel Egea
SQL Server MVP

"Tomás Liendo" wrote in message
news:
Hola necesito crear una consulta para comparar la cantidad de actas que se
abrieron en una entidad del gobierno con la cantidad de actas que se
cerraron mensualmente. Tengo las aperturas en una tabla y los cierres en
otra con los siguientes campos mas o menos:

Nro_Acta Fecha Concepto Tipo de Acta .

La salida que necesitaria sería así:

Mes Cantidad de Actas abiertas Cantidad de Actas Cerradas

He hecho muchos intentos, pero siempre las cantidades de actas abiertas y
cerradas me da exactamente igual. Supongo que debo encarar el tema de una
manera totalmente distinta a como lo estoy haciendo. ¿Me dan una mano?

Desde ya muchas gracias,

Tomás.

Respuesta Responder a este mensaje
#2 Alejandro Mesa
22/10/2005 - 22:57 | Informe spam
Tomás Liendo,

Otra forma de hacerlo es haciendo un "union all" de las tablas y usando un
numero o caracter para identificar el tipo de operacion (1 - apertura, 2 -
cierre)

select
convert(char(6), fecha, 112) as year_month,
sum(case when tipo_operacion = 1 then 1 else 0 end) as actas_abiertas,
sum(case when tipo_operacion = 2 then 1 else 0 end) as actas_cerradas
from
(
select fecha, 1 as tipo_operacion
from aperturas
union all
select fecha, 2 as tipo_operacion
from cierres
) as t
group by
convert(char(6), fecha, 112)
order by
convert(char(6), fecha, 112)
go


AMB

"Tomás Liendo" wrote:

Hola necesito crear una consulta para comparar la cantidad de actas que se
abrieron en una entidad del gobierno con la cantidad de actas que se
cerraron mensualmente. Tengo las aperturas en una tabla y los cierres en
otra con los siguientes campos mas o menos:

Nro_Acta Fecha Concepto Tipo de Acta .

La salida que necesitaria sería así:

Mes Cantidad de Actas abiertas Cantidad de Actas Cerradas

He hecho muchos intentos, pero siempre las cantidades de actas abiertas y
cerradas me da exactamente igual. Supongo que debo encarar el tema de una
manera totalmente distinta a como lo estoy haciendo. ¿Me dan una mano?

Desde ya muchas gracias,

Tomás.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida