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

Duda con consulta

Estas en el tema de Duda con consulta en el foro de PostgreSQL en Foros del Web. Buenas, estaba intentando hacer una consulta pero intenté de varias formas y parece no haber manera de hacerla. ACLARO: con un script sale de toque, ...
  #1 (permalink)  
Antiguo 11/08/2008, 09:02
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 12 años, 2 meses
Puntos: 0
Duda con consulta

Buenas, estaba intentando hacer una consulta pero intenté de varias formas y parece no haber manera de hacerla.
ACLARO: con un script sale de toque, lo que quiero es ver si se puede hacer simplemente con una consulta.

Lo que hay que hacer es lo siguiente:
Tengo una tabla con nichos y otra con tramites, en la cual cada nicho puede tener mucho tramites (estan asociadas por el id de nicho).
Cada tramite tiene un estado, representado por una letra.
Lo que quiero filtrar son aquellos nichos en los cuales TODOS los trámites de ese nicho están en estado 'A'.
Parece sencillo, pero no le encontré la vuelta, si alguno tiene alguna idea de como hacerlo, le agradecería que la posteara.
Gracias.

Saludos, Daniel.
  #2 (permalink)  
Antiguo 13/08/2008, 10:30
 
Fecha de Ingreso: julio-2008
Mensajes: 8
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Duda con consulta

prueba con
select campo_nichos from tabla_nichos, tabla_tramites, tabla_estado where
tabla_nicho.id_nicho=tabla_tramite.id_nicho
and tabla_tramite.id_estado=tabla_estado.id_estado
and estad0='A'
  #3 (permalink)  
Antiguo 13/08/2008, 10:31
 
Fecha de Ingreso: julio-2008
Mensajes: 8
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Duda con consulta

tambien se pueden hacer con inner join y debe salir igual
  #4 (permalink)  
Antiguo 19/08/2008, 05:24
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Duda con consulta

El estado es un campo de la tabla tramite, no es una tabla aparte.
Por otra parte, si hago eso pero con las 2 tablas (cosa que habia probado antes), no funciona correctamente ya que me tira aquellos nichos en los cuales algun tramite tiene estado 'A'.
Gracias por la respuesta.

Saludos.
  #5 (permalink)  
Antiguo 19/08/2008, 06:14
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 13 años, 8 meses
Puntos: 13
Respuesta: Duda con consulta

Es simple, prueba:
Código:
select campo_nichos 
from tabla_nichos
       JOIN (select id_nicho from tramites where estado = 'A' EXCEPT select id_nicho from tramites where estado != 'A') as tramites_A on tramites_A.id_nicho = tabla_nichos.id_nicho;
Salu2
  #6 (permalink)  
Antiguo 20/08/2008, 10:43
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Duda con consulta

Funcionó perfecto, muchas gracias.
Ahora que lo veo es simple, pero hace no mucho empecé con SQL y no tenía en cuenta el comando EXCEPT.

Saludos.
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 12:27.