Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2005, 05:38
danmart
 
Fecha de Ingreso: agosto-2003
Mensajes: 50
Antigüedad: 21 años, 3 meses
Puntos: 0
ayuda con consulta SQL

Hola a todos. Tengo un problema que me gustaría resolver con una única sentencia SQL. Os cuento.

Tengo 3 tablas: usuarios (idUsuario,nombre,edad);informes (idInforme,idUsuario); usuariosAutorizados(idInforme,idUsuario),
y tienen la siguiente utilidad:
- En la tabla usuarios tengo registrados a todos los usuarios del sistema.
- En la tabla informes tengo registrados todos los informes que los usuarios han creado
- En la tabla usuarios autorizados tengo registrados a los usuarios que están autorizados a visualizar los diferentes informes.

El concepto importante del caso es que un usuario tiene 2 "llaves" mediante las que poder ver los informes:
1- Teniendo más edad que el usuario creador del informe. Es decir, si el informe 1 lo crea 'user1' (de 23 años),
aunque 'user1' no autorice a 'user2' (de 25 años) a ver el informe, 'user2', por el hecho de ser más mayor, podrá ver
tal informe.
2- Otra posibilidad es, aún siendo más pequeño, que 'user2' de (25 años) autorice a 'user3' (de 21 años) a visualizar el informe.
Esta autorización quedará guardada en la tabla usuariosAutorizados

El problema viene ahora. Si tengo 2 usuarios ('userX' y 'userY')de 24 años, ¿cómo puedo hacer para que 1 de ellos visualice todos
los informes que hayan hecho otros usuarios de edad inferior y además aquellos para los cuales esté autorizado
aunque pertenezcan a gente más mayor?

Bueno, "nada más". Un saludo y gracias por todo.