Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/04/2011, 10:27
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Como puedo hacer esta consulta

hola de nuevo oscarbt:

Si simplemente le quitas el código del proceso entonces te listará todos los permisos de todos los procesos que el perfil no tiene asignado,

Código MySQL:
Ver original
  1. mysql> select T1.* from subprocesos T1 where not exists(
  2.     -> select * from permisos T2 inner join perfil T3 on T2.codproces = T3.codpr
  3. oces and T2.percodigo = T3.percodigo
  4.     -> where T1.codsubproceso = T2.codsubproces and T1.codproces = T2.codproces
  5. and T3.percodigo = 99);
  6. +---------------+-----------+
  7. | codsubproceso | codproces |
  8. +---------------+-----------+
  9. |           102 |         1 |
  10. |           200 |         2 |
  11. |           201 |         2 |
  12. |           202 |         2 |
  13. |           300 |         3 |
  14. |           301 |         3 |
  15. |           400 |         4 |
  16. |           401 |         4 |
  17. +---------------+-----------+
  18. 8 rows in set (0.02 sec)

Es decir, al perfil 99 le falta 1 permiso para el proceso 1, y todos los permisos para los procesos 2, 3, 4 (en los datos que puse de ejemplo hay un error en la tabla de permisos, pues asigna un permiso 203 que no existe, pero eso no debería pasar contigo si tienes bien definidas las FK).

Si esto NO ES LO QUE NECESITAS, entonces publica algunos datos de ejemplo y dinos qué necesitas de salida, pues como te dije en mi primer post, sin esta información sólo estoy adivinando qué quieres obtener en realidad,

Saludos.
Leo.