[Koha] Mysql query

Paul paul.a at aandc.org
Fri Apr 19 03:30:28 NZST 2013


I'm looking, please, for some expertise in writing MySQL queries (Koha 
"reports".) I have a good "report" for listing high value items in our 
collections (a requirement for our insurers), but need to add the "special 
case" of multi volume biblios.

Example: a set of Britannicas (14th ed.) is a single biblio with 24 "items" 
at $25 each for a total of $600, above our declared insurance threshold (we 
price items individually to cover incomplete sets.)

Question: How can I "SUM" all items under a single biblio in a manner that 
will allow inclusion on the "HAVING" line below?

SELECT 
items.price,biblio.author,biblio.title,ExtractValue(biblioitems.marcxml, 
'//datafield[@tag="245"]/subfield[@code="b"]') AS subtitle FROM items
LEFT JOIN biblioitems on (items.biblioitemnumber=biblioitems.biblioitemnumber)
LEFT JOIN biblio on (biblioitems.biblionumber=biblio.biblionumber)
HAVING items.price >= <<Value more than>>
ORDER BY items.price DESC;

I *suspect* it's something along the lines of:

SET @price1=0;
SELECT items.price, (@price1:=SUM(items.price)) as FullValue, @price1 as 
returned_val

but cannot get this to function properly (it returns the value of the whole 
catalogue) -- the following:

SET @price1=0;
SELECT items.price, (@price1:=SUM(items.price)) as FullValue, @price1 as 
returned_val,
biblio.author,biblio.title,ExtractValue(biblioitems.marcxml, 
'//datafield[@tag="245"]/subfield[@code="b"]') AS subtitle FROM items
LEFT JOIN biblioitems on (items.biblioitemnumber=biblioitems.biblioitemnumber)
LEFT JOIN biblio on (biblioitems.biblionumber=biblio.biblionumber)
HAVING FullValue >= 500
ORDER BY FullValue DESC;

does *not* even save in Koha (Error 1 "see logs", but I can't find anything 
- suspect it's the ; on line 1.) But on the command line, it runs without 
syntactical error, but lists only biblionumber=1 and the total value of 
everything we have ever catalogued ;={

Maybe it's not possible and a Perl script is required?

Many thanks for any suggestions.

Paul



More information about the Koha mailing list