Llevo unos días dándole vueltas a una consulta sql que me trae por el camino de la amargura. Pero antes de seguir complicándome y perder más tiempo quería preguntaros si realmente puedo hacerlo con una sola consulta. Estoy bastante oxidada en sql...
Vereis, hay 3 tablas, trabajadores, centros y centros regionales.
Los centros regionales son los que coordinan a los centros. Así que un centro regional también es un centro, pues tiene trabajadores, que a su vez coordina a otros centros que no son regionales, estando la tabla centros vinculada a la tabla centros regionales(los centros regionales se repiten en las 2)
Los trabajadores son de 2 tipos (nivel 1 y nivel 2) y pueden trabajar tanto en un centro regional como en un centro, aunque sólo están vinculados con la tabla centros.
Os lo explico quizás mejor así:
Tabla centros Regionales: id_cr | nombre_cr
Tabla centros: id_cr | id_c | nombre_c
Tabla trabajadores: id_trabajador | id_nivel | id_centro
Ahora supongamos que soy un trabajador de nivel 2(peón) y quiero saber qué peones trabajan en mi mismo centro y qué trabajadores de nivel 1(coordinadores) gestionan todos los centros a los que pertenece su centro regional
Con datos:
tabla centros regionales
--------------------------------
id_cr | nombre_cr
----------------------------------
1 | cr1
-----------------------------------
2 | cr2
-----------------------------------
3 | cr3
tabla centros
------------------------------------
id_cr | id_centro | nombre centro
-----------------------------------------------
1 | 1 | cr1
-----------------------------------------------
2 | 2 | cr2
-----------------------------------------------
2 | 3 | cr3
-----------------------------------------------
1 | 4 | c4
-----------------------------------------------
2 | 5 | c5
-----------------------------------------------
1 | 6 | c6
tabla trabajadores
-----------------------------------------------
id_trabajador | id_nivel | id_centro
------------------------------------------------
1 | 1 | 4
------------------------------------------------
2 | 1 | 1
------------------------------------------------
3 | 2 | 1
------------------------------------------------
4 | 2 | 1
------------------------------------------------
5 | 2 | 3
------------------------------------------------
6 | 1 | 3
Suponiendo ahora que soy el trabajador 3. En la consulta que os propongo debería obtener como resultados los trabajadores 4(de mi mismo nivel y mismo centro) y los coordinadores 1 y 2 que, aunque trabajen en centros distintos, los centros pertenecen al mismo centro regional y son de nivel 1.
Me he explicado bien?? Gracias por la ayudita
