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

Count group by

Estas en el tema de Count group by en el foro de Bases de Datos General en Foros del Web. Hola a todos, tengo una duda acerca de una consulta SQL que quiero realizar... Tengo una Tabla_Sectores, con sectores del 1 al 10 (por ejemplo) ...
  #1 (permalink)  
Antiguo 30/06/2008, 04:05
 
Fecha de Ingreso: octubre-2007
Mensajes: 15
Antigüedad: 17 años, 1 mes
Puntos: 0
Count group by

Hola a todos,

tengo una duda acerca de una consulta SQL que quiero realizar...

Tengo una Tabla_Sectores, con sectores del 1 al 10 (por ejemplo)
y en otra (Tabla_Frigorificos_almacenados) guardo entre otras cosas el sector donde se almacena cada frigorifico...

Bien, pues la consulta que quiero hacer es para ver la ocupación de cada sector, es decir...

Sector 1, 21 frigos
sector 2, 3 frigos
sector 3, 0 frigos
sector 4, 33 frigos
...

para esto lo que he hecho es lo siguiente:

SELECT A.ID_SECTOR, COUNT(B.ID_FRIGORIFICO)
FROM TABLA_SECTORES A, TABLA_FRIGORIFICOS ALMACENADOS B
WHERE A.ID_SECTOR=B.ID_SECTOR
GROUP BY ID_SECTOR

y bueno... cómo es lógico, sólo me devuelve:

Sector 1, 21 frigos
sector 2, 3 frigos
sector 4, 33 frigos
...

que tb' podría conseguirse más fácilmente con un:

SELECT ID_SECTOR, COUNT(ID_FRIGORIFICO)
FROM TABLA_FRIGORIFICOS_ALMACENADOS
GROUP BY ID_SECTOR


pero es que yo necesitaría que me devolviese que el sector 3 está vacío..
es decir

sector 3, 0 frigos

pero como en la tabla de frigoríficos no hay registros con el sector 3, pues no me muestra resultados...

Se me ocurren algunas formas un tanto engorrosas (con whiles y tal..) para conseguir lo que quiero, pero estoy seguro de que tiene que haber una manera más sencilla, aunque no logró caer en ella...

Ojalá alguién me abra los ojos!!

muchas gracias!
  #2 (permalink)  
Antiguo 30/06/2008, 05:04
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 3 meses
Puntos: 18
Respuesta: Count group by

Prueba asi:

SELECT Count([TABLA_FRIGORIFICOS ALMACENADOS].IdSector) AS CuentaDeIdSector, Sectores.IdSector
FROM [TABLA_FRIGORIFICOS ALMACENADOS] RIGHT JOIN Sectores ON [TABLA_FRIGORIFICOS ALMACENADOS].IdSector = Sectores.IdSector
GROUP BY Sectores.IdSector;

UN saludo
  #3 (permalink)  
Antiguo 30/06/2008, 05:33
 
Fecha de Ingreso: octubre-2007
Mensajes: 15
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Count group by

Muchísimas gracias!! Es perfecto!

Lo cierto es que no domino los joins, (bueno... dominar.. jeje! si supiese utilizarlos un pokito ya me daba con un canto en los dientes!), pero voy a tener que ponerme a ello...

Muchas gracias otra vez!
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 14:17.