Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/04/2009, 03:47
Avatar de pempas
pempas
 
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 21 años, 2 meses
Puntos: 6
Sentencia Count no devuelve registros bien

Hola,

Tengo una sentencia que me devuelve el "Count" de forma erronea, les explico las tablas, son dos:

Tabla establecimientos:
id -> autoincremental
nombre -> char
idciudad -> integer
idpoblacion -> integer

Tabla establecimientos_sectores:
idestablecimiento -> integer
idsector -> integer

La consulta que hago para extraer la info es esta:

Cita:
Select e.id, e.nombre, Count(e.id) As Total From establecimientos e Inner Join establecimientos_sectores s ON (e.id=s.idestablecimiento And s.idsector=2) Where e.idciudad=09 Group By e.id Order By RAND();
El tema está, que los datos los devuelve de esta guisa:

Cita:
ID = 1
Nombre = Comercio 1
Total = 2

ID = 2
Nombre = Comercio 2
Total = 1

ID = 3
Nombre = Comercio 3
Total = 1
El tema está en que el "Comercio 1" tiene establecidos dos sectores a la vez, mientras que el Comercio 2, solo tiene establecido uno, por lo que entiendo, que el count, me está contando el número de sectores de cada comercio, cuando lo que yo quiero es sacar la cuenta de los establecimientos que voy a mostrar...

¿Cómo puedo solventarlo?, he mirado de todo, pero no encuentro la manera.

Gracias!