Maria Eugenia:
Te dejo un informe que usamos en la USM para listar alumnos donde agregamos el atributo de usuario carrera y te comento el código.
SELECT branchcode 'Biblioteca', b.cardnumber RUN, b.surname Apellidos, b.firstname Nombres,b.email, b.categorycode Categoria, b.dateexpiry 'Fecha caducidad', b.dateenrolled 'Fecha Registro Biblioteca', b.sort1 ROL , au.lib Carrera, au.category 'CoD' , au.lib 'Nombre CoD', b.updated_on 'Ultima Actualizacion', b.debarredcomment, b.opacnote 'Nota en OPAC', b.borrowernotes 'Notas del usuario' -- seleccionamos los dato que queremos
FROM borrowers b -- uso la tabla borrowers como base
LEFT JOIN borrower_attributes ba ON ba.borrowernumber = b.borrowernumber -- le asoció la tabla de
atributos extendidos de usuarios con LEFT para que también traiga usuarios sin atributos extendidos, uso inner sí no.
LEFT JOIN authorised_values au ON au.authorised_value = ba.attribute -- la tabla de los atributos extendidos de usuarios guarda códigos y yo quiero la carreras como texto, por eso asocio valores autorizados
where IF(<<Solo esta Sede/Campus|YES_NO>>, branchcode=<<Biblioteca|branches>> ,1) -- esto es para escoger si traiga una sede o varias
AND ((au.category = 'CARRERAS' AND ba.code = 'CARRERA') OR ISNULL(au.category) OR (ba.code = 'Departamen' AND au.category = 'DEPARTMENT') ) -- esta línea se ve un poco mas enredada de lo que debería porque aparte de los alumnos tenemos usuarios funcionarios asociados a departamentos, y usuarios sin departamento, lo importante es que tienes que indicar eel
borrower_attributes que quieres traer y el
authorised_values asociado a ese
borrower_attributes para que te traiga el nombre correcto.
Jorge Spuler
Ingeniero en Automatización y Procesos
Dirección de Información y Documentación Bibliográfica Institucional,
Edificio Edificio U/Piso2 Anexo: 56 32 2654514
Universidad Técnica Federico Santa María - Casa Central - www.usm.cl
