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

Ayuda LEFT JOIN Y WHERE

Estas en el tema de Ayuda LEFT JOIN Y WHERE en el foro de Mysql en Foros del Web. Bueno tratare de comentar lo mejor posible mi problema.... tengo 2 tablas Tabla1 OPERADORES Código PHP: +--------+--------+------+-------+ |  id      |  nombre  | estado | IdCiudad ...
  #1 (permalink)  
Antiguo 04/06/2009, 10:26
Avatar de minkweb  
Fecha de Ingreso: septiembre-2005
Mensajes: 443
Antigüedad: 18 años, 8 meses
Puntos: 14
Ayuda LEFT JOIN Y WHERE

Bueno tratare de comentar lo mejor posible mi problema....

tengo 2 tablas


Tabla1 OPERADORES
Código PHP:
+--------+--------+------+-------+
id     nombre |estado|IdCiudad
+--------+--------+------+-------+
1      luis   |   2  |   1   |
2      andres |   2  |   1   |
3      maria  |   1  |   2   |
4      carlos |   3  |   3   |
+--------+--------+------+-------+ 

Tabla2 CIUDAD
Código PHP:
+--------+--------+
id     ciudad |  
+--------+--------+
1      Bogota |  
2      Cali   |
3      Ibage  
+--------+--------+ 
En toncs quiero lo siguiente


Quiero obtener todas las ciudades con el numero de operadores en estado mayor a 1, lo intente asi

Código PHP:
SELECT 
Ciudad
.nombre
Ciudad.id,
COUNT(Operadores.id) AS Operadores 

FROM 
`CIUDAD` AS `Ciudad
LEFT JOIN 
`OPERADORES` AS `Operadores`
ON 
`Operadores`.`IdCiudad`=`Ciudad`.`id

WHERE `Operadores`.`estado`>1
GROUP BY 
`Ciudad`.`id

El problema es si una ciudad no tiene operadores con estado mayor a 1 no se moestrara dicha ciudad, necesito que si no existen operadores en estado mayor a 1 en determinada ciudad igual me la muestre con un count en 0

¿Alguien sabe como podria hacer la consulta?
__________________
Juegos
Juegos iphone
  #2 (permalink)  
Antiguo 04/06/2009, 10:59
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Ayuda LEFT JOIN Y WHERE

Pruebala así:

Código mysql:
Ver original
  1. Ciudad.nombre,  
  2. Ciudad.id,
  3. COUNT(Operadores.id) AS Operadores  
  4.  
  5. FROM `CIUDAD` AS `Ciudad`  
  6. (select *from `OPERADORES` WHERE `Operadores`.`estado`>1)op  
  7. ON  
  8. `op`.`IdCiudad`=`Ciudad`.`id`  
  9.  
  10. GROUP BY `Ciudad`.`id`

no la he probado.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 04/06/2009, 11:12
Avatar de minkweb  
Fecha de Ingreso: septiembre-2005
Mensajes: 443
Antigüedad: 18 años, 8 meses
Puntos: 14
Respuesta: Ayuda LEFT JOIN Y WHERE

Gracias men :D! sos un genio
__________________
Juegos
Juegos iphone
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 00:43.