Que tal, tengo una tabla
Legajos
lega_legajo(PK)
lega_provincia
lega_fecha_ingreso
y otra tabla
provincia
prov_codigo(pk)
prov_descripcion
Necesito mostrar para todas las provincias:codigo,descripción, cantidad de legajos que ingresaron a la empresa de esa prov en el año 2001 y cantidad de legajos que ingresaron a la empresa de esa prov en el año 2002.
Entonces yo probé con
select prov_codigo,prov_descripcion,case when (year(lega_fecha_ingreso)='2001') then count(*) end,case when (year(lega_fecha_ingreso)='2002') then count(*) end
from Legajos,Provincia
where lega_provincia=prov_codigo
group by prov_codigo,prov_descripcion,lega_provincia,lega_f echa_ingreso
pero no tuve los resultados esperados ya que por cada provincia me muestra 2 filas, y yo quiero que quede en una. O sea me esta quedando
'Codigo' 'Descripcion' 'Cant ingresados en el 2001' 'Cant ingresados en el 2002'
1 bs as 1 NULL
1 ba as NULL 1
y yo quiero que me quede una única fila por provincia:
'Codigo' 'Descripcion' 'Cant ingresados en el 2001' 'Cant ingresados en el 2002'
1 bs as 1 1
Alguien me puede decir como puedo lograr lo que quiero? se puede lograr con un case?? (no quiero usar subselects, ya se como solucionarlo de esa forma pero estaba buscando una solución de otro tipo)...un saludo