Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/01/2008, 11:37
Jona77
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años, 10 meses
Puntos: 7
SELECT si un campo esta completo y tiene cierto valor.

Tengo unas solicitudes a las que se les asigna una persona responsable y hasta 4 sectores que intervienen en la misma (minimo 1 sector, maximo 4, no siempre participan los 4). Necesito mostrar esta solicitud a la persona responsable si y solo si todos los sectores que intervienen dieron su aprobacion.

1) El registro tiene que estar habilitado.
2) El registro debe haber sido mostrado a todos los sectores intervinientes.
3) Tiene que ser para la persona que esta viendo la página.
4) Esta persona no lo tiene que haber hecho, debe tenerlo pendiente.
5) Tengo que verificar que sector participa y si este lo aprobo o no.

El problema lo tengo en el punto 4, logre que si un sector no aprueba la solicitud, esta no se muestre al responsable. Pero cuando participan mas de un sector la consulta no funciona y le muestra la solicitud al responsable aun cuando un sector la haya aprobado y otro no.

Código PHP:
SELECT sacp_sacpIDsacp_nrosacp_aniosacp_fechasacp_resolucion_plazosacp_correctiva_preventiva
FROM calidad_sacp s 
WHERE sacp_habilitado_sys
='1' AND sacp_resolucion_responsableID 12 AND sacp_resolucion_responsable_realizado='0' AND sacp_mostrar '1' AND 
(
 (if(
sacp_resolucion_interviniente_sectorID_1 IS NOT NULL,'PARTICIPA','NP')=if(sacp_resolucion_interviniente_firmaID_1 IS NOT NULL,'PARTICIPA','NP') AND sacp_resolucion_interviniente_sectorID_1 IS NOT NULL) OR
 (if(
sacp_resolucion_interviniente_sectorID_2 IS NOT NULL,'PARTICIPA','NP')=if(sacp_resolucion_interviniente_firmaID_2 IS NOT NULL,'PARTICIPA','NP') AND sacp_resolucion_interviniente_sectorID_2 IS NOT NULL) OR
 (if(
sacp_resolucion_interviniente_sectorID_3 IS NOT NULL,'PARTICIPA','NP')=if(sacp_resolucion_interviniente_firmaID_3 IS NOT NULL,'PARTICIPA','NP') AND sacp_resolucion_interviniente_sectorID_3 IS NOT NULL) OR
 (if(
sacp_resolucion_interviniente_sectorID_4 IS NOT NULL,'PARTICIPA','NP')=if(sacp_resolucion_interviniente_firmaID_4 IS NOT NULL,'PARTICIPA','NP') AND sacp_resolucion_interviniente_sectorID_4 IS NOT NULL)