Hola a todos:

Para crear reportes de circulación de materiales he creado una vista que agrupa que la tabla issues y old_issues, el código de la vista es este:

CREATE OR REPLACE VIEW `vw_prestamos` AS 
select `issues`.`issue_id` AS `issue_id`,
`issues`.`borrowernumber` AS `borrowernumber`,
`issues`.`itemnumber` AS `itemnumber`,
`issues`.`date_due` AS `date_due`,
`issues`.`branchcode` AS `branchcode`,
`issues`.`returndate` AS `returndate`,
`issues`.`lastreneweddate` AS `lastreneweddate`,
`issues`.`renewals` AS `renewals`,
`issues`.`auto_renew` AS `auto_renew`,
`issues`.`timestamp` AS `timestamp`,
`issues`.`issuedate` AS `issuedate`,
`issues`.`onsite_checkout` AS `onsite_checkout`,
`issues`.`note` AS `note`,
`issues`.`notedate` AS `notedate`,
`issues`.`noteseen` AS `noteseen`,
`items`.`biblionumber` AS `biblionumber` 
from (`issues` left join `items` on(`issues`.`itemnumber` = `items`.`itemnumber`)) 
union 
select `old_issues`.`issue_id` AS `issue_id`,
`old_issues`.`borrowernumber` AS `borrowernumber`,
`old_issues`.`itemnumber` AS `itemnumber`,
`old_issues`.`date_due` AS `date_due`,
`old_issues`.`branchcode` AS `branchcode`,
`old_issues`.`returndate` AS `returndate`,
`old_issues`.`lastreneweddate` AS `lastreneweddate`,
`old_issues`.`renewals` AS `renewals`,
`old_issues`.`auto_renew` AS `auto_renew`,
`old_issues`.`timestamp` AS `timestamp`,
`old_issues`.`issuedate` AS `issuedate`,
`old_issues`.`onsite_checkout` AS `onsite_checkout`,
`old_issues`.`note` AS `note`,
`old_issues`.`notedate` AS `notedate`,
`old_issues`.`noteseen` AS `noteseen`,
`items`.`biblionumber` AS `biblionumber` 
from (`old_issues` left join `items` on(`old_issues`.`itemnumber` = `items`.`itemnumber`));


Uno de los reportes que me piden es mostrar las cantidades de préstamos por categoria de usuarios y tipo de material de la siguiente manera:

Biblioteca             | Categoria de usuario    | Libro    | Test de psicología | Trabajos postécnicos de enfermería | 
Biblioteca central   | Alumno de licenciatura    | 1277     |             4                  |                            32                               |

Debajo de cada tipo de material las cantidades, yo lo he sacado pero de diferente manera con esta consulta sql en informes:

SELECT branches.branchname AS  'Biblioteca' , categories.description AS  'Tipo de usuario' , itemtypes.description AS  'Tipo de material' , Count(vw_prestamos.issue_id) AS  'Cantidad de préstamos' 
FROM ((((vw_prestamos INNER JOIN items ON vw_prestamos.itemnumber = items.itemnumber) INNER JOIN branches ON vw_prestamos.branchcode = branches.branchcode) INNER JOIN borrowers ON vw_prestamos.borrowernumber = borrowers.borrowernumber) INNER JOIN categories ON borrowers.categorycode = categories.categorycode) INNER JOIN itemtypes ON items.itype = itemtypes.itemtype
WHERE date(vw_prestamos.issuedate)  BETWEEN <<Fecha inicial|date>> AND <<Fecha final|date>>
GROUP BY branches.branchname, categories.description, itemtypes.description
ORDER BY branches.branchname, categories.description, itemtypes.description

Lo que me arroja los resultados de la siguiente manera:

BibliotecaTipo de usuarioTipo de materialCantidad de préstamos
Biblioteca CentralAlumno de LicenciaturaLibro1277
Biblioteca SurAlumno de LicenciaturaTest de psicología4
Biblioteca NorteAlumno de LicenciaturaTrabajos postécnicos de enfermería32

¿Cómo sería la consulta para obtenerlo como me lo piden?

--
Saludos...

Ricardo Vargas