RETURN QUERY
SELECT f.id AS bib,
- COUNT(h.id)::NUMERIC AS holds
+ COUNT(DISTINCT h.id)::NUMERIC AS holds
FROM action.hold_request h
JOIN reporter.hold_request_record rhrr ON (rhrr.id = h.id)
JOIN precalc_bib_list f ON (f.id = rhrr.bib_record)
+ JOIN precalc_copy_filter_bib_list cf ON (f.id = cf.id)
+ JOIN action.hold_copy_map m ON (m.target_copy = cf.copy AND m.hold = h.id)
WHERE h.fulfillment_time IS NULL
AND h.request_lib = ANY (badge.orgs)
GROUP BY 1;
JOIN asset.copy cp ON (cp.id = c.target_copy)
JOIN asset.call_number cn ON (cn.id = cp.call_number)
JOIN precalc_bib_list f ON (f.id = cn.record)
+ JOIN precalc_copy_filter_bib_list cf ON (f.id = cf.id AND cp.id = cf.copy)
WHERE c.xact_start >= NOW() - badge.horizon_age
AND cn.owning_lib = ANY (badge.orgs)
AND c.phone_renewal IS FALSE -- we don't count renewals
JOIN asset.copy cp ON (cp.id = c.target_copy)
JOIN asset.call_number cn ON (cn.id = cp.call_number)
JOIN precalc_bib_list f ON (f.id = cn.record)
+ JOIN precalc_copy_filter_bib_list cf ON (f.id = cf.id AND cp.id = cf.copy)
WHERE c.checkin_time IS NULL
AND cn.owning_lib = ANY (badge.orgs)
GROUP BY 1;
FROM asset.copy cp
JOIN asset.call_number cn ON (cn.id = cp.call_number)
JOIN precalc_bib_list f ON (f.id = cn.record)
+ JOIN precalc_copy_filter_bib_list c ON (f.id = c.id AND cp.id = c.copy)
WHERE cn.owning_lib = ANY (badge.orgs)
) x
GROUP BY 1;
FROM asset.copy cp
JOIN asset.call_number cn ON (cn.id = cp.call_number)
JOIN precalc_bib_list f ON (f.id = cn.record)
- LEFT JOIN action.hold_copy_map m ON (m.target_copy = cp.id)
+ JOIN precalc_copy_filter_bib_list c ON (f.id = c.id AND cp.id = c.copy)
+ JOIN action.hold_copy_map m ON (m.target_copy = cp.id)
WHERE cn.owning_lib = ANY (badge.orgs)
GROUP BY 1;
END;
JOIN config.copy_status cs ON (cs.id = cp.status)
JOIN asset.call_number cn ON (cn.id = cp.call_number)
JOIN precalc_bib_list f ON (f.id = cn.record)
- LEFT JOIN action.hold_copy_map m ON (m.target_copy = cp.id)
+ JOIN precalc_copy_filter_bib_list c ON (f.id = c.id AND cp.id = c.copy)
+ JOIN action.hold_copy_map m ON (m.target_copy = cp.id)
WHERE cn.owning_lib = ANY (badge.orgs)
AND cp.holdable IS TRUE
AND cl.holdable IS TRUE
FROM asset.copy cp
JOIN asset.call_number cn ON (cn.id = cp.call_number)
JOIN precalc_bib_list f ON (f.id = cn.record)
+ JOIN precalc_copy_filter_bib_list c ON (f.id = c.id AND cp.id = c.copy)
LEFT JOIN action.all_circulation circ ON (
circ.target_copy = cp.id
AND stop_fines NOT IN (