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

el historial de un proyecto

Estas en el tema de el historial de un proyecto en el foro de PostgreSQL en Foros del Web. Saludos a todos del foro... tengo un problemilla mas o menos gigante que me tiene bastante complicada, tengo una tabla que se llama proyecto que ...
  #1 (permalink)  
Antiguo 14/03/2008, 10:12
Avatar de DarKy_DarKness  
Fecha de Ingreso: mayo-2006
Ubicación: Talca
Mensajes: 58
Antigüedad: 17 años, 11 meses
Puntos: 0
el historial de un proyecto

Saludos a todos del foro...
tengo un problemilla mas o menos gigante que me tiene bastante complicada, tengo una tabla que se llama proyecto que su pkey es cod_proyecto, despues tengo otra taba que se llama estado pkey es cod_estado y estado que es correlativo, donde este proyecto puede pasar por 4 cod_estado, y por cada estado que pasa es diferente al otro, es el historial del proyecto, ademas existe otra tabla que se llama postular donde cada estado del proyecto tiene un resultado y son 8 posibles resultado, ahora bien en lo que estoy confundida es como saber todos los proyectos que no hayan tenido como resultado 2 y 7, pero si 3.
ademas un proyecto puede tener varios cod_estado incluso repetidos, y el estado es el que hace la diferencia ya que el cod_proyecto, el cod_estado y el cod_resultado tambien puede ser el mismo
Código PHP:
select cod_proyecton_concursoestadocod_estadocod_resultado from postular  where  cod_resultado <> and cod_resultado <> 7  and cod_resultado=3  order by cod_proyecto 
entonces no se como hacer para que tome su historial y diga si este proyecto ya estuvo como resultado 2 y no lo tome


si alguien me puede orientar, de antemo gracias
y saludos
__________________
No hay nada mas que Solo yo en La Oscuridad...
  #2 (permalink)  
Antiguo 14/03/2008, 18:27
 
Fecha de Ingreso: enero-2008
Mensajes: 25
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: el historial de un proyecto

Sin que te ofendas, la verdad es que yo no te entiendo nada de lo que decis...

Si vas a postear en un foro, al menos deja claro cuales son las tablas, sus atributos, sus tipos, sus restricciones, las relaciones, la consulta que queres hacer. De manera que con solo una mirada podamos comprender sin tener que releer varias veces la idea.

Tu unica esperanza antes de aclarar este lio es Seyko.

Salu2
  #3 (permalink)  
Antiguo 17/03/2008, 10:39
 
Fecha de Ingreso: octubre-2005
Mensajes: 28
Antigüedad: 18 años, 5 meses
Puntos: 1
Re: el historial de un proyecto

Darky;

Por lo que entendí, tu query esta correcto si la informacion de estados tambien la tienes en la tabla de postulantes, ahora si la informacion de estados la tienes en la tabla de estados y solo ahi. Lo que te falta es hacer un Join con la tabal de estado a traves del cod_estado. y con eso vas a tener toda la información.

Gerardo.

PD: Yo tambien soy de Talca.
  #4 (permalink)  
Antiguo 18/03/2008, 05:52
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: el historial de un proyecto

Buenas Darky,

Por suerte, se de lo que hablas porque es similar al proyecto que llevo ahora mismo.
Pero como te comenta bransh debes indicar con más detalle que quieres, poner las tablas, algun ejemplo con el resultado deseado, etc...

Bueno, empezamos, lo que estas haciendo es un workflow.

No entiendo varias cosas:
Cita:
llama estado pkey es cod_estado y estado que es correlativo
Cita:
donde este proyecto puede pasar por 4 cod_estado, y por cada estado que pasa es diferente al otro,
Cita:
ademas un proyecto puede tener varios cod_estado incluso repetidos, y el estado es el que hace la diferencia ya que el cod_proyecto, el cod_estado y el cod_resultado tambien puede ser el mismo
Como puede ser esto????
cod_estado y estado son campos de la misma tabla, y por lo que entiendo, estado es el campo que distingue??? deberia ser cod_estado, pero entonces tu descripción del problema es totalmente contradictoria!

Con ejemplos y una explicación detallada, no te preocupes que tu problema no es ni de lejos
Cita:
un problemilla mas o menos gigante


A la espera
  #5 (permalink)  
Antiguo 18/03/2008, 05:53
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: el historial de un proyecto

Cita:
Iniciado por bransh Ver Mensaje
Sin que te ofendas, la verdad es que yo no te entiendo nada de lo que decis...

Si vas a postear en un foro, al menos deja claro cuales son las tablas, sus atributos, sus tipos, sus restricciones, las relaciones, la consulta que queres hacer. De manera que con solo una mirada podamos comprender sin tener que releer varias veces la idea.

Tu unica esperanza antes de aclarar este lio es Seyko.

Salu2
jejeje no será para tanto :$
  #6 (permalink)  
Antiguo 18/03/2008, 07:12
Avatar de DarKy_DarKness  
Fecha de Ingreso: mayo-2006
Ubicación: Talca
Mensajes: 58
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: el historial de un proyecto

hola
las tablas son:
proyecto: cod_proyecto(pkey), nbre_proyecto;
estado: cod_estado(pkey),cod_proyecto(pkey),estado(pkey);
postular: cod_resultado(pkey),cod_estado(pkey), estado(pkey), cod_proyecto(pkey);
estado_proyecto: cod_estado(pkey); tabla mantenedora;
resultado: cod_resultado(pkey); tabla mantenedora;

un proyecto es único y el proyecto tiene cuatro estados que son nuevo, reformulado, repostulado, retirado, estos estados, el nuevo es unico, el reformulado puede ser mas una vez y el repostulado puede muchas veces, entonces como ven el cod_proyecto y cod_estado se puede repetir varias veces y lo diferencio con un estado que es correlativo y es unico, ahora bien estos proyectos se postulan a un concurso donde tienen resultado y los resultado son sin concurso, seleccionado, no seleccionado, rechazado, en revision, retirado, eliminado, para postular y un proyecto puede tener varias veces no seleccionado por que el proyecto no cumple con alguna condición...
necesito saber que proyectos han sido postulado y como resultado es no seleccionado, y en el historial no tengan seleccionado, eliminado, retirado y con un cod_estado repostulado.
__________________
No hay nada mas que Solo yo en La Oscuridad...

Última edición por DarKy_DarKness; 18/03/2008 a las 07:27
  #7 (permalink)  
Antiguo 18/03/2008, 09:47
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: el historial de un proyecto

Como controlas esa logica?
No tienes transiciones???
No existe una matriz de estados/transiciones???

Si me pasas una copia de las tablas con datos y me dices el resultado que deberia dar la select lo puedo mirar.

Salu2

Última edición por seyko; 18/03/2008 a las 09:52
  #8 (permalink)  
Antiguo 18/03/2008, 10:16
Avatar de DarKy_DarKness  
Fecha de Ingreso: mayo-2006
Ubicación: Talca
Mensajes: 58
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: el historial de un proyecto

sabes es lo unico que encontre para distinguir a un proyecto de sus muchos estados y resultados, estuve todo un dia pensando como puedo hacerlo y lo unico que encontre fue la siguiente consulta:

Código PHP:
SELECT DISTINCT postular.cod_proyecto  From postular where cod_resultado <> (eliminado)  and cod_resultado <> (retirado) and cod_resultado <> 5(en revision)  and cod_resultado <> (rechazado) and cod_estado=3(repostulado)  and cod_proyecto NOT IN SELECT cod_proyecto FROM con_bono WHERE postular.cod_proyecto con_bono.cod_proyecto AND con_bono.cod_resultado=2(seleccionado)) 
ahora bien no se si estare en lo correcto, pero extrajo lo que necesitaba, lo que hize fue como los seleccionado pasan a otra etapa extraje todos los que no tenian esa opcion y que me listara todos aquellos proyectos que fueran distinto de eliminado, retirado, en revision, rechazado y con un cod estado repostulado....

Ejemplo
-----------------estado----------------
cod proyecto / cod estado / estado
1 1 (nuevo) 1
1 3 (repostulado) 2
1 3 (repostulado) 3
1 3 (repostulado) 4

----------------------------------------postular----------------------------------
cod proyecto / cod estado / estado / cod resultado
1 1(nuevo) 1 3(no seleccionado)
1 3(repostulado) 2 2(seleccionado)
1 3(repostulado) 3 6(retirado)
1 3(repostulado) 4 3(no seleccionado)
__________________
No hay nada mas que Solo yo en La Oscuridad...
  #9 (permalink)  
Antiguo 18/03/2008, 11:49
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: el historial de un proyecto

Vale, funciona, está bien, entonces donde está el problema?
La select no es muy eficiente, pero para empezar puede valer.
Que necesitas ahora, mejorar la select?
  #10 (permalink)  
Antiguo 18/03/2008, 12:41
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Re: el historial de un proyecto

Puedes usar tambien NOT IN en vez de
Cita:
where cod_resultado <> 7 (eliminado) and cod_resultado <> 6 (retirado) and cod_resultado <> 5(en revision) and cod_resultado <> 4 (rechazado)
Quedando asi:
Código PHP:
WHERE cod_resultado NOT IN (7,65,4
Ignoro si se pueda usar un rango para poner algo asi como NOT IN (7 to 4) /*Desde 7 hasta el 4*/
  #11 (permalink)  
Antiguo 18/03/2008, 12:50
Avatar de DarKy_DarKness  
Fecha de Ingreso: mayo-2006
Ubicación: Talca
Mensajes: 58
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: el historial de un proyecto

a que buena, no sabia que tambien funcionaba asi vale gracias
__________________
No hay nada mas que Solo yo en La Oscuridad...
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 20:46.