View difference between Paste ID: 5V8FTquz and HMd6wNsz
SHOW: | | - or go back to the newest paste.
1
/* 
2
3-
Section F LIBRARY COLLECTIONS
3+
Section F LIBRARY COLLECTIONS 
4
5
            Books/Serials/Volumes - Physical print format
6-
            F1 Number added__________________________
6+
            F1 Number added__________________________ 
7-
            F2 Number weeded__________________________
7+
            F2 Number weeded__________________________ 
8-
            F3 TOTAL__________________________
8+
            F3 TOTAL__________________________ 
9
            Current Print Serial Subscriptions (physical format, newspaper and periodicals)
10-
            F4 Number added__________________________
10+
            F4 Number added__________________________ 
11-
            F5 Number weeded__________________________
11+
            F5 Number weeded__________________________ 
12-
            F6 TOTAL__________________________
12+
            F6 TOTAL__________________________ 
13-
           
13+
            
14
            Audio materials (physical units containing music, spoken word, etc. on CD, cassette tape, etc.)
15-
            F7 Number of physical units added__________________________
15+
            F7 Number of physical units added__________________________ 
16-
            F8 Number of physical units weeded__________________________
16+
            F8 Number of physical units weeded__________________________ 
17-
            F9 TOTAL__________________________
17+
            F9 TOTAL__________________________ 
18-
           
18+
            
19
            Video materials (physical units containing movies, TV shows, etc. on film, DVD, etc.)
20-
            F10 Number of physical units added__________________________
20+
            F10 Number of physical units added__________________________ 
21-
            F11 Number of physical units weeded__________________________
21+
            F11 Number of physical units weeded__________________________ 
22-
            F12 TOTAL physical units held__________________________
22+
            F12 TOTAL physical units held__________________________ 
23
24
*/
25
26
27
/*
28
total language materials (aka books) in collection at end of fiscal
29
there isn't an "other" category for materials so everything else is grouped into physical print
30-
also adds in an estimate based on your non-cataloged circulation of those materials
30+
also adds in an estimate based on your non-cataloged circulation of those materials 
31
------------------------------------------------------------------------------------------------------------------
32
------------------------------------------------------------------------------------------------------------------
33
*/
34
SELECT SUM(a.copy_id) AS "Books Total - F3", a.org2_shortname
35
FROM (
36-
DROP TABLE IF EXISTS rogan.asset_copy;
36+
        SELECT coalesce(COUNT(DISTINCT COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
37
        FROM asset.COPY COPY
38-
/* create a table and map per circulation */
38+
39
        JOIN actor.org_unit org2 ON org2.id = org.parent_ou
40-
CREATE TABLE rogan.asset_copy AS
40+
        JOIN asset.call_number acn ON acn.id = COPY.call_number
41-
SELECT id, circ_lib, LOCATION, circ_modifier, deleted, create_date, edit_date FROM asset.COPY;
41+
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = acn.record
42
        WHERE COPY.deleted = FALSE AND date(COPY.create_date) <= '2015-06-30'
43-
ALTER TABLE rogan.asset_copy ADD COLUMN book BOOLEAN DEFAULT TRUE;
43+
        AND meta.tag = 'LDR' AND SUBSTRING(meta.VALUE FROM 7 FOR 1) IN ('a','c','d','e','f','k','m','o','p','r','t')
44-
ALTER TABLE rogan.asset_copy ADD COLUMN serial BOOLEAN DEFAULT FALSE;
44+
        AND SUBSTRING(meta.VALUE FROM 8 FOR 1) != 's'
45-
ALTER TABLE rogan.asset_copy ADD COLUMN video BOOLEAN DEFAULT FALSE;
45+
46-
ALTER TABLE rogan.asset_copy ADD COLUMN audio BOOLEAN DEFAULT FALSE;
46+
47
        SELECT coalesce(COUNT(DISTINCT COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
48-
UPDATE rogan.asset_copy SET book = FALSE WHERE circ_modifier IN
48+
        FROM asset.COPY COPY
49-
        ('ELECTRONIC EQUIPMENT','EREADER','EQUIPMENT','INTERNET','THEME KIT','GAME');
49+
50
        JOIN actor.org_unit org2 ON org2.id = org.parent_ou
51-
UPDATE rogan.asset_copy SET serial = TRUE WHERE circ_modifier = 'MAGAZINE';
51+
        JOIN asset.call_number acn ON acn.id = COPY.call_number
52
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = acn.record
53-
UPDATE rogan.asset_copy SET video = TRUE WHERE circ_modifier IN ('VIDEO','LEASE DVD');
53+
54
        AND date(COPY.edit_date) >= '2014-07-01' AND date(COPY.edit_date) <= '2015-06-30'
55-
UPDATE rogan.asset_copy SET audio = TRUE WHERE circ_modifier IN ('AUDIO','PLAYAWAY','AUDIO BOOK');
55+
        AND meta.tag = 'LDR' AND SUBSTRING(meta.VALUE FROM 7 FOR 1) IN ('a','c','d','e','f','k','m','o','p','r','t')
56
        AND SUBSTRING(meta.VALUE FROM 8 FOR 1) != 's'
57-
ALTER TABLE rogan.asset_copy ADD COLUMN location_name TEXT;
57+
58
UNION ALL
59-
UPDATE rogan.asset_copy SET location_name = loc.NAME
59+
	SELECT coalesce(count(circ.id),0) AS copy_id, org2.shortname AS org2_shortname
60-
FROM (SELECT ac.id AS "ac_id", acl.NAME FROM rogan.asset_copy ac JOIN asset.copy_location acl ON acl.id = ac.LOCATION) loc
60+
        FROM action.non_cataloged_circulation circ
61-
WHERE loc.ac_id = id ;
61+
        left JOIN actor.org_unit org ON org.id = circ.circ_lib
62
        JOIN actor.org_unit org2 ON org2.id = org.parent_ou
63-
UPDATE rogan.asset_copy SET video = TRUE WHERE circ_modifier IN ('21 DAY LEASE','14 DAY LEASE','7 DAY LEASE','28 DAY','14 DAY','21 DAY','7 DAY','RENTAL')
63+
        where date(circ.circ_time) >= '2014-07-01' AND date(circ.circ_time) <= '2015-06-30'
64-
AND (location_name ILIKE '%video%' OR location_name ILIKE '%dvd%');
64+
65
) a
66-
UPDATE rogan.asset_copy SET audio = TRUE WHERE circ_modifier IN ('21 DAY LEASE','14 DAY LEASE','7 DAY LEASE','28 DAY','14 DAY','21 DAY','7 DAY','RENTAL')
66+
67-
AND (location_name ILIKE '%audio%' OR location_name ILIKE '%books on%' OR location_name ILIKE '%music%');
67+
68
;
69-
UPDATE rogan.asset_copy SET book = FALSE WHERE circ_modifier IN ('21 DAY LEASE','14 DAY LEASE','7 DAY LEASE','28 DAY','14 DAY','21 DAY','7 DAY','RENTAL')
69+
70-
AND (location_name ILIKE '%equipment%' OR location_name ILIKE '%adult 360%' OR location_name ILIKE '%adult ps2%');
70+
71
/*
72-
UPDATE rogan.asset_copy SET book = FALSE WHERE serial = TRUE;
72+
serials looking at position 8, requires it be a print material like those counted above 
73-
UPDATE rogan.asset_copy SET book = FALSE WHERE video = TRUE;
73+
74-
UPDATE rogan.asset_copy SET book = FALSE WHERE audio = TRUE;
74+
75
*/
76
SELECT SUM(a.copy_id) AS "Serials - F6", a.org2_shortname
77
FROM (
78
        SELECT coalesce(COUNT(distinct COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
79-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
79+
        FROM asset.COPY COPY
80-
        FROM rogan.asset_copy COPY
80+
81
        JOIN actor.org_unit org2 ON org2.id = org.parent_ou
82
        JOIN asset.call_number acn ON acn.id = COPY.call_number
83
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = acn.record
84-
        AND COPY.book = TRUE
84+
85
        AND meta.tag = 'LDR' AND SUBSTRING(meta.VALUE FROM 8 FOR 1) = 's'
86
		AND SUBSTRING(meta.VALUE FROM 7 FOR 1) IN ('a','c','d','e','f','k','m','o','p','r','t')
87-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
87+
88-
        FROM rogan.asset_copy COPY
88+
		GROUP BY 2
89
UNION ALL
90
        SELECT coalesce(COUNT(distinct COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
91
        FROM asset.COPY COPY
92-
        and date(copy.edit_date) between '2014-07-01' and '2015-06-30'
92+
93-
        AND COPY.book = TRUE
93+
94
        JOIN asset.call_number acn ON acn.id = COPY.call_number
95
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = acn.record
96-
        SELECT COALESCE(COUNT(circ.id),0) AS copy_id, org2.shortname AS org2_shortname
96+
97-
        FROM ACTION.non_cataloged_circulation circ
97+
98-
        LEFT JOIN actor.org_unit org ON org.id = circ.circ_lib
98+
        AND meta.tag = 'LDR' AND SUBSTRING(meta.VALUE FROM 8 FOR 1) = 's'
99
		AND SUBSTRING(meta.VALUE FROM 7 FOR 1) IN ('a','c','d','e','f','k','m','o','p','r','t')
100-
        WHERE date(circ.circ_time) between '2014-07-01' AND '2015-06-30'
100+
101
) a
102
GROUP BY 2
103
ORDER BY 2
104
;
105
106
107
/*
108
total j = music and i = audio books  in collection at end of fiscal
109
------------------------------------------------------------------------------------------------------------------
110
------------------------------------------------------------------------------------------------------------------
111
*/
112
SELECT SUM(a.copy_id) AS "Audio - F9", a.org2_shortname
113
FROM (
114-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
114+
        SELECT coalesce(COUNT(distinct COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
115-
        FROM rogan.asset_copy COPY
115+
        FROM asset.COPY COPY
116
        JOIN actor.org_unit org ON org.id = COPY.circ_lib
117
        JOIN actor.org_unit org2 ON org2.id = org.parent_ou
118
        JOIN asset.call_number acn ON acn.id = COPY.call_number
119-
        AND COPY.serial = TRUE
119+
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = acn.record
120
        WHERE COPY.deleted = FALSE AND date(COPY.create_date) <= '2015-06-30'
121
        AND meta.tag = 'LDR' AND (SUBSTRING(meta.VALUE FROM 7 FOR 1) = 'j' OR SUBSTRING(meta.VALUE FROM 7 FOR 1) = 'i')
122-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
122+
123-
        FROM rogan.asset_copy COPY
123+
124
        SELECT coalesce(COUNT(distinct COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
125
        FROM asset.COPY COPY
126
        JOIN actor.org_unit org ON org.id = COPY.circ_lib
127-
        AND COPY.serial = TRUE
127+
128-
        and date(copy.edit_date) between '2014-07-01' and '2015-06-30'
128+
        JOIN asset.call_number acn ON acn.id = COPY.call_number
129
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = acn.record
130
        WHERE COPY.deleted = TRUE AND date(COPY.create_date) <= '2015-06-30'
131
        AND date(COPY.edit_date) >= '2014-07-01' AND date(COPY.edit_date) <= '2015-06-30'
132
        AND meta.tag = 'LDR' AND (SUBSTRING(meta.VALUE FROM 7 FOR 1) = 'j' OR SUBSTRING(meta.VALUE FROM 7 FOR 1) = 'i')
133
        GROUP BY 2
134
) a
135
GROUP BY 2
136
ORDER BY 2
137
;
138
 
139
140
/*
141
total videos in collection at end of fiscal
142-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
142+
143-
        FROM rogan.asset_copy COPY
143+
144
answers F12
145
------------------------------------------------------------------------------------------------------------------
146
------------------------------------------------------------------------------------------------------------------
147-
        AND COPY.audio = TRUE
147+
148
SELECT SUM(a.copy_id) AS "Total Videos - F12", a.org2_shortname
149
FROM (
150-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
150+
        SELECT coalesce(COUNT(DISTINCT COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
151-
        FROM rogan.asset_copy COPY
151+
        FROM asset.COPY COPY
152
        JOIN actor.org_unit org ON org.id = COPY.circ_lib
153
        JOIN actor.org_unit org2 ON org2.id = org.parent_ou
154
        JOIN asset.call_number acn ON acn.id = COPY.call_number
155
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = acn.record
156-
        AND COPY.audio = TRUE
156+
157
        AND meta.tag = 'LDR' AND SUBSTRING(meta.VALUE FROM 7 FOR 1) = 'g'
158
        GROUP BY 2
159
UNION ALL
160
        SELECT coalesce(COUNT(DISTINCT COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
161
        FROM asset.COPY COPY
162
        JOIN actor.org_unit org ON org.id = COPY.circ_lib
163
        JOIN actor.org_unit org2 ON org2.id = org.parent_ou
164
        JOIN asset.call_number acn ON acn.id = COPY.call_number
165
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = acn.record
166
        WHERE COPY.deleted = TRUE AND date(COPY.create_date) <= '2015-06-30'
167
        AND date(COPY.edit_date) >= '2014-07-01' AND date(COPY.edit_date) <= '2015-06-30'
168
        AND meta.tag = 'LDR' AND SUBSTRING(meta.VALUE FROM 7 FOR 1) = 'g'
169
        GROUP BY 2
170
) a
171
GROUP BY 2
172
ORDER BY 2
173
;
174-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
174+
175-
        FROM rogan.asset_copy COPY
175+
176
/*
177
materials added within the fiscal year
178
-------------------------------------- looks for a = language material, j = music, g = projected medium
179-
        AND COPY.video = TRUE
179+
180
------------------------------------------------------------------------------------------------------------------
181
------------------------------------------------------------------------------------------------------------------
182-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS copy_id, org2.shortname AS org2_shortname
182+
183-
        FROM rogan.asset_copy COPY
183+
184
SELECT v.shortname AS "Library",
185
coalesce(SUM(t.books),0) AS "Books Added - F1", coalesce(SUM(e.serials),0) AS "Serials Added - F4", 
186
coalesce(SUM(s.sound),0) AS "Audios Added - F7", coalesce(SUM(v.videos),0) AS "Videos Added - F10"
187-
        AND COPY.video = TRUE
187+
188-
        and date(copy.edit_date) between '2014-07-01' and '2015-06-30'
188+
        SELECT coalesce(COUNT(DISTINCT COPY.id),0) AS videos, org2.shortname AS shortname
189
        FROM asset.COPY COPY
190
        JOIN actor.org_unit org ON org.id = COPY.circ_lib
191
        JOIN actor.org_unit org2 ON org2.id = org.parent_ou
192
        JOIN asset.call_number call ON call.id = COPY.call_number
193
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = call.record
194
        WHERE date(COPY.create_date) >= '2014-07-01' AND date(COPY.create_date) <= '2015-06-30'
195
        AND meta.tag = 'LDR'
196
        AND SUBSTRING(meta.VALUE FROM 7 FOR 1) = 'g'
197
        GROUP BY 2
198
) v
199
left JOIN (
200
        SELECT coalesce(COUNT(DISTINCT COPY.id),0) AS books, org2.shortname AS shortname
201
        FROM asset.COPY COPY
202
        JOIN actor.org_unit org ON org.id = COPY.circ_lib
203
        JOIN actor.org_unit org2 ON org2.id = org.parent_ou
204
        JOIN asset.call_number call ON call.id = COPY.call_number
205-
COALESCE(SUM(t.books),0) AS "Books Added - F1", COALESCE(SUM(e.serials),0) AS "Serials Added - F4",
205+
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = call.record
206-
COALESCE(SUM(s.sound),0) AS "Audios Added - F7", COALESCE(SUM(v.videos),0) AS "Videos Added - F10"
206+
207
        AND meta.tag = 'LDR'
208-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS videos, org2.shortname AS shortname
208+
        AND SUBSTRING(meta.VALUE FROM 7 FOR 1) IN ('a','c','d','e','f','k','m','o','p','r','t')
209-
        FROM rogan.asset_copy COPY
209+
        AND SUBSTRING(meta.VALUE FROM 8 FOR 1) != 's'
210
        GROUP BY 2
211
) t ON t.shortname = v.shortname
212
left JOIN (
213-
        AND COPY.video = TRUE
213+
        SELECT coalesce(COUNT(DISTINCT COPY.id),0) AS sound, org2.shortname AS shortname
214
        FROM asset.COPY COPY
215
        JOIN actor.org_unit org ON org.id = COPY.circ_lib
216-
LEFT JOIN (
216+
217-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS books, org2.shortname AS shortname
217+
        JOIN asset.call_number call ON call.id = COPY.call_number
218-
        FROM rogan.asset_copy COPY
218+
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = call.record
219
        WHERE date(COPY.create_date) >= '2014-07-01' AND date(COPY.create_date) <= '2015-06-30'
220
        AND meta.tag = 'LDR'
221
        AND SUBSTRING(meta.VALUE FROM 7 FOR 1) IN ('i','j')
222-
                AND COPY.book = TRUE
222+
223
) s ON s.shortname = v.shortname
224
left JOIN (
225-
LEFT JOIN (
225+
        SELECT coalesce(COUNT(DISTINCT COPY.id),0) AS serials, org2.shortname AS shortname
226-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS sound, org2.shortname AS shortname
226+
        FROM asset.COPY COPY
227-
        FROM rogan.asset_copy COPY
227+
228
        JOIN actor.org_unit org2 ON org2.id = org.parent_ou
229
        JOIN asset.call_number call ON call.id = COPY.call_number
230
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = call.record
231-
                AND COPY.audio = TRUE
231+
232
        AND meta.tag = 'LDR'
233
        AND SUBSTRING(meta.VALUE FROM 7 FOR 1) IN ('a','c','d','e','f','k','m','o','p','r','t')
234-
LEFT JOIN (
234+
        AND SUBSTRING(meta.VALUE FROM 8 FOR 1) = 's'
235-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS serials, org2.shortname AS shortname
235+
236-
        FROM rogan.asset_copy COPY
236+
237
GROUP BY 1
238
ORDER BY 1
239
;
240-
                AND COPY.serial = TRUE
240+
241
 
242
/*
243
materials weeded by end of fiscal - deleted or not
244
-------------------------------------- looks for a = language material, j = music, g = projected medium
245
-------------------------------------- i = audio books are bundeled with j music as per SC requirements
246
------------------------------------------------------------------------------------------------------------------
247
------------------------------------------------------------------------------------------------------------------
248
*/
249
 
250
SELECT v.shortname AS "Library",
251
coalesce(SUM(t.books),0) AS "Books Weeded - F2", coalesce(SUM(e.serials),0) AS "Serials Weeded - F5 ",
252
coalesce(SUM(s.sound),0) AS "Audio Weeded - F8", coalesce(SUM(v.videos),0) AS "Videos Weeded - F11"
253
FROM (
254
        SELECT coalesce(COUNT(DISTINCT COPY.id),0) AS videos, org2.shortname AS shortname
255
        FROM asset.COPY COPY
256
        JOIN actor.org_unit org ON org.id = COPY.circ_lib
257-
COALESCE(SUM(t.books),0) AS "Books Weeded - F2", COALESCE(SUM(e.serials),0) AS "Serials Weeded - F5 ",
257+
258-
COALESCE(SUM(s.sound),0) AS "Audio Weeded - F8", COALESCE(SUM(v.videos),0) AS "Videos Weeded - F11"
258+
        JOIN asset.call_number call ON call.id = COPY.call_number
259
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = call.record
260-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS videos, org2.shortname AS shortname
260+
261-
        FROM rogan.asset_copy COPY
261+
        AND meta.tag = 'LDR'
262
        AND SUBSTRING(meta.VALUE FROM 7 FOR 1) = 'g'
263
        GROUP BY 2
264
) v
265-
                AND COPY.video = TRUE
265+
left JOIN (
266
        SELECT coalesce(COUNT(DISTINCT COPY.id),0) AS books, org2.shortname AS shortname
267
        FROM asset.COPY COPY
268-
LEFT JOIN (
268+
269-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS books, org2.shortname AS shortname
269+
270-
        FROM rogan.asset_copy COPY
270+
        JOIN asset.call_number call ON call.id = COPY.call_number
271
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = call.record
272
        WHERE COPY.deleted = TRUE AND date(COPY.edit_date) >= '2014-07-01' AND date(COPY.edit_date) <= '2015-06-30'
273
        AND meta.tag = 'LDR'
274-
                AND COPY.book = TRUE
274+
        AND SUBSTRING(meta.VALUE FROM 7 FOR 1) IN ('a','c','d','e','f','k','m','o','p','r','t')
275
        AND SUBSTRING(meta.VALUE FROM 8 FOR 1) != 's'
276
        GROUP BY 2
277-
LEFT JOIN (
277+
278-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS sound, org2.shortname AS shortname
278+
left JOIN (
279-
        FROM rogan.asset_copy COPY
279+
        SELECT coalesce(COUNT(DISTINCT COPY.id),0) AS sound, org2.shortname AS shortname
280
        FROM asset.COPY COPY
281
        JOIN actor.org_unit org ON org.id = COPY.circ_lib
282
        JOIN actor.org_unit org2 ON org2.id = org.parent_ou
283-
                AND COPY.audio = TRUE
283+
        JOIN asset.call_number call ON call.id = COPY.call_number
284
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = call.record
285
        WHERE COPY.deleted = TRUE AND date(COPY.edit_date) >= '2014-07-01' AND date(COPY.edit_date) <= '2015-06-30'
286-
LEFT JOIN (
286+
        AND meta.tag = 'LDR'
287-
        SELECT COALESCE(COUNT(DISTINCT COPY.id),0) AS serials, org2.shortname AS shortname
287+
        AND SUBSTRING(meta.VALUE FROM 7 FOR 1) IN ('i','j')
288-
        FROM rogan.asset_copy COPY
288+
289
) s ON s.shortname = v.shortname
290
left JOIN (
291
        SELECT coalesce(COUNT(DISTINCT COPY.id),0) AS serials, org2.shortname AS shortname
292-
                AND COPY.serial = TRUE
292+
        FROM asset.COPY COPY
293
        JOIN actor.org_unit org ON org.id = COPY.circ_lib
294
        JOIN actor.org_unit org2 ON org2.id = org.parent_ou
295
        JOIN asset.call_number call ON call.id = COPY.call_number
296
        LEFT OUTER JOIN metabib.real_full_rec meta ON meta.record = call.record
297
        WHERE COPY.deleted = TRUE AND date(COPY.edit_date) >= '2014-07-01' AND date(COPY.edit_date) <= '2015-06-30'
298
        AND meta.tag = 'LDR'
299
        AND SUBSTRING(meta.VALUE FROM 7 FOR 1) IN ('a','c','d','e','f','k','m','o','p','r','t')
300
        AND SUBSTRING(meta.VALUE FROM 8 FOR 1) = 's'
301
        GROUP BY 2
302
) e ON e.shortname = v.shortname
303
GROUP BY 1
304
ORDER BY 1
305
;