• Otros lenguajes

 #493535  por Nikola Tesla
 
Buen dia, como estan? Tengo que hacer una consulta sql bastante compleja y por mas que intente no logro llegar al resultado.

Tengo las tablas:

OPERADOR (tiene un campo boleano que determina si la linea es un operador o un perfil) (nombre es PK)
pedro 1
P_Facturacion 0
P_Administracion 0

REL_OPERADORPERFIL (relacion entre dos operadores/perfil) (PK compuesta por operador perfil)
Pedro P_Facturacion
Pedro P_Administracion

DUTY (una duty tiene varios perfiles, lo ejemplifico con 1 solo)(id autoincremental PK)
Facturar P_Facturacion
Administrar P_Administracion

MATRIZ (cruce de dos duty, usa los ID de las duty como FK)(PK id autoincremental)
Facturar Administrar Critico(campo criticidad)

La consulta que tengo que hacer es la siguiente, verificar que usuarios tienen dutys que se crucen (es un analisis de segregacion de funciones)
si en la matriz esta facturar y administrar
tengo que buscar quienes son los usuarios que tienen alguno de los perfiles de facturar y alguno de los perfiles de administrar en simultaneo.

Una resultado de ejemplo seria
Pedro Facturar Administrar Critico


Mil gracias por la ayuda.