Hi,

On 08/22/2012 11:27 AM, Galen Charlton wrote:
On 08/22/2012 10:51 AM, Linda wrote:
I need to find records having a 773 field that  are missing either a
subfield "9". or a subfield "o"..
I'm at a loss of how to accomplish this.   Any input would be
appreciated.
Thanks in advance.

This should do the trick:

SELECT biblionumber
FROM biblioitems
WHERE marcxml RLIKE '<datafield tag="773"'
AND ExtractValue(marcxml, '//datafield[@tag="773"]/subfield[@code="9" or
@code = "o"]/text()') = '';

By the way, this query will return all bibs that lack *both* of those subfields. This variant returns bibs that lack one or the other:

SELECT biblionumber
FROM biblioitems
WHERE marcxml RLIKE '<datafield tag="773"'
AND (
ExtractValue(marcxml, '//datafield[@tag="773"]/subfield[@code="9"]/text()') = ''
OR
ExtractValue(marcxml, '//datafield[@tag="773"]/subfield[@code="o"]/text()') = ''
);

This isn't perfect, though -- if a record has multiple 773 fields, and one of them has the required subfields while the others do not, it won't be included in the query results.

Regards,

Galen
--
Galen Charlton
Director of Support and Implementation
Equinox Software, Inc. / The Open Source Experts
email:  g...@esilibrary.com
direct: +1 770-709-5581
cell:   +1 404-984-4366
skype:  gmcharlt
web:    http://www.esilibrary.com/
Supporting Koha and Evergreen: http://koha-community.org & http://evergreen-ils.org


_______________________________________________
Koha mailing list  http://koha-community.org
Koha@lists.katipo.co.nz
http://lists.katipo.co.nz/mailman/listinfo/koha

Reply via email to