Generated a report today of all items on reserve with a suppressed bibliographic or MFHD record. You're in luck if you're a MS Access person because I used it to generate the SQL. However, all my SQL needs to be in Oracle because it will be eventually be incorporated into an online reporting tool which uses an Oracle driver. Not to mention MS Access spits out jibberish.
This first code block is Oracle SQL:
SELECT
BIB_TEXT.TITLE
, RESERVE_LIST.LIST_TITLE
, ITEM.ON_RESERVE
, MFHD_MASTER.SUPPRESS_IN_OPAC
, BIB_MASTER.SUPPRESS_IN_OPAC
, MFHD_MASTER.DISPLAY_CALL_NO
FROM
ITEM INNER JOIN MFHD_ITEM USING(ITEM_ID)
INNER JOIN BIB_ITEM USING(ITEM_ID)
INNER JOIN BIB_TEXT USING(BIB_ID)
INNER JOIN BIB_MASTER USING(BIB_ID)
INNER JOIN MFHD_MASTER USING(MFHD_ID)
INNER JOIN RESERVE_LIST_ITEMS USING(ITEM_ID)
INNER JOIN RESERVE_LIST USING(RESERVE_LIST_ID)
WHERE
ITEM.ON_RESERVE='Y'
AND (MFHD_MASTER.SUPPRESS_IN_OPAC='Y' OR BIB_MASTER.SUPPRESS_IN_OPAC='Y')
Here is the MS Access SQL:
SELECT BIB_TEXT.TITLE, RESERVE_LIST.LIST_TITLE, ITEM.ON_RESERVE, MFHD_MASTER.SUPPRESS_IN_OPAC, BIB_MASTER.SUPPRESS_IN_OPAC, MFHD_MASTER.DISPLAY_CALL_NO
FROM (((((ITEM INNER JOIN MFHD_ITEM ON ITEM.ITEM_ID = MFHD_ITEM.ITEM_ID) INNER JOIN MFHD_MASTER ON MFHD_ITEM.MFHD_ID = MFHD_MASTER.MFHD_ID) INNER JOIN BIB_ITEM ON ITEM.ITEM_ID = BIB_ITEM.ITEM_ID) INNER JOIN BIB_TEXT ON BIB_ITEM.BIB_ID = BIB_TEXT.BIB_ID) INNER JOIN (RESERVE_LIST INNER JOIN RESERVE_LIST_ITEMS ON RESERVE_LIST.RESERVE_LIST_ID = RESERVE_LIST_ITEMS.RESERVE_LIST_ID) ON ITEM.ITEM_ID = RESERVE_LIST_ITEMS.ITEM_ID) INNER JOIN BIB_MASTER ON BIB_ITEM.BIB_ID = BIB_MASTER.BIB_ID
WHERE (((ITEM.ON_RESERVE)='Y') AND ((MFHD_MASTER.SUPPRESS_IN_OPAC)='Y')) OR (((ITEM.ON_RESERVE)='Y') AND ((BIB_MASTER.SUPPRESS_IN_OPAC)='Y'));
Enjoy.