[koha-Infos] difficulté avec l'écriture sql pour un rapport koha version3.0

Paul Poulain paul.poulain at biblibre.com
Ven 3 Sep 13:10:14 CEST 2010


Le 03/09/2010 12:25, Martine Chazelas a écrit :
> Bonjour,
Bonjour,
> Je veux créer un rapport me permettant d'afficher l'ensemble des mots
> clés utilisés dans le champ 615$a de mon catalogue. J'ai utilisé la
> syntaxe suivante :
>
> SELECT 
> SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(biblioitems.marcxml,'<datafield
> tag="615"',-1),'</datafield>',1),'<subfield
> code="a">',-1),'</subfield>','1') As mot_cle FROM items LEFT JOIN
> biblioitems on (items.biblioitemnumber=biblioitems.biblioitemnumber)
> LEFT JOIN biblio on (biblioitems.biblionumber=biblio.biblionumber) 
> WHERE items.holdingbranch='RECHERCHE'  AND biblioitems.marcxml LIKE
> '%<datafield tag="615"%'
>
>
> Cela fonctionne à peu près bien sauf que cela ne me donne pas tous les
> mots clés utilisés. J'obtiens bien une liste mais par exemple si un
> mot a été utilisé dans 10 fiches, je devrais avoir 10 fois le même
> mot. Ce n'est pas le cas. Je n'ai pas non plus la totalité des mots
> utilisés. Certains mots utilisés, une ou plusieurs fois,
> n'apparaissent pas du tout. Est-ce que c'est ma syntaxe qui n'est pas
> bonne ou est-ce que c'est koha qui répond mal ?
Je pense que le pb vient du fait que, s'il y a plusieurs mot-clefs dans
une même requète, seul le premier va être remonté. Du coup, certains
mots en 2eme n'apparaissent pas.

PS : pour info, dans une jointure, si les 2 champs on le même nom, on
peut utiliser USING(nomduchamp) pour aller plus vite : LEFT JOIN biblio
USING(biblionumber) par exemple

-- 
Paul POULAIN
http://www.biblibre.com
Expert en Logiciels Libres pour l'info-doc
Tel : (33) 4 91 81 35 08

-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: </pipermail/infos/attachments/20100903/4fd4d090/attachment.htm>


More information about the Infos mailing list