Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/10/2009, 14:35
Avatar de mortiprogramador
mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: ayuda con una consulta entre tablas!!

Hola
Bueno, viendo tus condiciones, se me ocurre que uses un count para revisar cuantas bodegas obtienes de cada ciudad, algo así


Código sql:
Ver original
  1. SELECT c.id_ciudad, COUNT(c.id_ciudad) AS totalbodegas, c.nombre
  2. FROM ciudades c INNER JOIN bodega b ON c.id_ciudad = b.ciudad_id_ciudad
  3. WHERE b.estado_bodega IS NOT NULL GROUP BY c.id_ciudad;

Obteniendo por ej
id_ciudad totalbodegas nombre
1 2 ciudad1
2 1 ciudad2
3 3 ciudad3

Y pues ya con esto, se puede manejar condicionales, ahora pregunto yo, esto que necesitas es sobre el motor como tal de postgresql o va asociado en algún desarrollo con php por ej?
si va ligado con un desarrollo, pues es fácil la parte que faltaría que es validar si el dato totalbodegas es 3, y que lo muestre, en el motor como tal faltaría hacer algo más, y pues me pongo en eso mientras respondes
saludos

uhm, bueno, agrego esto

Código sql:
Ver original
  1. SELECT IF(COUNT(c.id_ciudad)>2,c.nombre,'') AS totalbodegas, c.nombre
  2. FROM ciudades c INNER JOIN bodega b ON c.id_ciudad = b.ciudad_id_ciudad
  3. WHERE b.estado_bodega IS NOT NULL GROUP BY c.id_ciudad;

el resultado es este
totalbodegas
enblanco
enblanco
ciudad3

si se quiere evitar esos "en blanco", pues ya entrarías a crear una función
en la bd para manejar variables y hacerlo más adecuado
saludos

Última edición por mortiprogramador; 18/10/2009 a las 14:57 Razón: complemento