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

Fridolyn SOMERS fridolyn.somers at gmail.com
Ven 3 Sep 15:15:55 CEST 2010


Bonjour,

J'ai une solution mais elle n'est valable que pour une *MySQL version 5.1*.
En effet, à partir de cette version, les requêtes sur l'XML sont possibles
avec la syntaxe XPATH.

Grâce à cela, on peut extraire tous les sous-champs "a" de tous les champs
"615".

La requête :

SELECT * FROM (SELECT ExtractValue(marcxml,
"/record/datafield[@tag='615']/subfield[@code='a']") AS kw FROM biblioitems)
AS result WHERE LENGTH(result.kw)>0;

Il y a un second SELECT afin de ne pas afficher les colonnes qui n'ont pas
de 615$a.

PS : il ne reste plus qu'à ajouter la jointure avec items.

Cdt,

2010/9/3 Martine Chazelas <martine.chazelas at cerma.archi.fr>

>  Le 03/09/2010 13:10, Paul Poulain a écrit :
>
> 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.
>
> Le champ est répétable donc il n'y a qu'un mot clé à chaque fois mais
> plusieurs fois le champ 615$a. Je pensais aussi au début que cela pouvait
> jouer mais j'ai des notices pour lesquelles le premier mot n'apparait pas et
> d'autres ou le deuxième ou troisième apparait.
>
> Comment obtenir la liste totale des mots clés utilisés dans un fichier
> texte  si cette méthode ne peut fonctionner ?
>
>
> Martine Chazelas
>
>
> _______________________________________________
> Infos mailing list
> Infos at listes.koha-fr.org
> https://listes.koha-fr.org/cgi-bin/mailman/listinfo/infos
>
>


-- 
Fridolyn SOMERS
ICT engineer
PROGILONE - Lyon - France
fridolyn.somers at gmail.com
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: </pipermail/infos/attachments/20100903/3a07a6d3/attachment-0001.htm>


More information about the Infos mailing list