Como comento, necesito algo así pero con un campo más. Esta me saca el resultado que yo quiero pero sin devolver el puesto que también necesito.
Código SQL:
Ver original
SELECT DISTINCT u.CO_UNID_ AS codigo, u.NO_UNID AS unid, t.NOMBRE AS emp, t. APELLIDO1 AS ape1, t. APELLIDO2 AS ape2, t.CO_EMPLEADO AS coemp, u.TIT_RESP AS resp FROM UNID u, TRABAJADOR t, TRABUNID e , PUESTO pu WHERE u.CO_RESPONSABLE= t.ID_TRABAJADOR(+) AND t.ID_TRABAJADOR = e.ID_TRABAJADOR (+) AND U.ES_SOCIO LIKE 'S' AND (translate(LOWER(u.UNID_ORG),'áéíóúÁÉÍÓÚäëïöüÄËÏÖÜÑÇ', 'aeiouaeiouaeiouaeiouñç') LIKE translate(LOWER(USTRIOA.PK_TRANSF.FU_ACC_TR('%A%')),'áéíóúÁÉÍÓÚäëïöüÄËÏÖÜÑÇ', 'aeiouaeiouaeiouaeiouñç') ) ORDER BY u.NO_UNID
Y aquí añado otra select con el campo que necesito. El problema es que yo necesito mostrar todas las unidades con el nombre del responsable, cargo y puesto incluso aunque no tengan responsable pero no me salen todas. Pasa que como algunas unidades no tienen responsable, en la tabla TRABUNID no existe ningún registro que me relacione trabajador y unidad y por tanto no sé como hacer para que me los muestre porque he probado de todo. A ver si me pueden ayudar.
Código SQL:
saludos y gracias de antemano Ver original
SELECT DISTINCT u.CO_UNID AS codigo, u.NO_UNID AS unid, t.NOMBRE AS emp, t.APELLIDO1 AS ape1, t.APELLIDO2 AS ape2, t.CO_EMPLEADO AS coemp, u.TIT_RESP AS resp, (SELECT NO_PUESTO FROM PUESTO PU WHERE PU.CO_PUESTO=E.CO_PUESTO AND u.CO_RESPONSABLE = t.ID_TRABAJADOR AND e.TRAB_ID_TRABAJADOR=t.TRAB_ID_TRABAJADOR ) puesto FROM UNID u, TRABAJADOR t, TRABUNID e , PUESTO pu WHERE pu.co_puesto=e.co_puesto AND e.id_trabajador=t.id_trabajador AND e.co_unid=u.co_unid AND u.co_responsable=t.id_trabajador AND U.ES_SOCIO LIKE 'S' AND (translate(LOWER(u.UNID_ORG),'áéíóúÁÉÍÓÚäëïöüÄËÏÖÜÑÇ', 'aeiouaeiouaeiouaeiouñç') LIKE translate(LOWER(USTRIOA.PK_TRANSF.FU_ACC_TR('%A%')),'áéíóúÁÉÍÓÚäëïöüÄËÏÖÜÑÇ', 'aeiouaeiouaeiouaeiouñç') ) ORDER BY u.NO_UNID