Regroupement et filtre des exemplaires selon les indices des cotes DEWEY ou NLM

Attention ! Cette colonne ne fonctionne que pour les exemplaires dont la cote de la holding et de type Dewey ou NLM. Les exemplaires ne remplissant pas ces conditions sont regroupés derrière la mention « Non Dewey ou NLM »

Si le type de cote est NLM alors on extrait tous les caractères depuis le début de la chaîne jusqu’au premier espace qui suit un chiffre et qui est précédé par une lettre. Les points sont remplacés par des virgules pour faciliter le tri des données.

Si le type de cote est Dewey on extrait les caractères à partir du premier chiffre jusqu’au premier espace qui suit un chiffre et qui est précédé par une lettre. Les points sont remplacés par des virgules pour faciliter le tri des données.

Dans les autres cas on affecte la valeur « Non Dewey ou NLM »

Requête SQL pour la création de l’invite

SELECT
    CASE
        WHEN "Holdings Details"."Permanent Call Number Type" = 'National Library of Medicine classification' THEN IFNULL (
            EVALUATE (
                'regexp_replace(%1,%2,%3)',
                IFNULL (
                    EVALUATE (
                        'regexp_replace(%1,%2,%3)',
                        EVALUATE (
                            'regexp_replace(%1,%2,%3)',
                            "Holding Details"."Permanent Call Number",
                            '\(',
                            ' '
                        ),
                        '^(.*?[0-9\.]+?)\s.*$',
                        '\1'
                    ),
                    0
                ),
                '\.',
                ','
            ),
            0
        )
        WHEN "Holdings Details"."Permanent Call Number Type" = 'Dewey Decimal classification' THEN IFNULL (
            EVALUATE (
                'regexp_replace(%1,%2,%3)',
                IFNULL (
                    EVALUATE (
                        'regexp_replace(%1,%2,%3)',
                        EVALUATE (
                            'regexp_replace(%1,%2,%3)',
                            "Holding Details"."Permanent Call Number",
                            '\(',
                            ' '
                        ),
                        '^.*?([0-9\.]+?)\s.*$',
                        '\1'
                    ),
                    0
                ),
                '\.',
                ','
            ),
            0
        )
        ELSE 'Non Dewey ou NLM'
    END
FROM
    "Physical Items"
FETCH FIRST
    65001 ROWS ONLY

Date de publication

Mis à jour le

Attention ! Certains établissements utilisent parfois de procédures complémentaires