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 originalSELECT c.id_ciudad, COUNT(c.id_ciudad) AS totalbodegas, c.nombre
FROM ciudades c INNER JOIN bodega b ON c.id_ciudad = b.ciudad_id_ciudad
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 originalSELECT IF(COUNT(c.id_ciudad)>2,c.nombre,'') AS totalbodegas, c.nombre
FROM ciudades c INNER JOIN bodega b ON c.id_ciudad = b.ciudad_id_ciudad
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