IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

requête d'extraction de lieux (st et saint)


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 9
    Points : 5
    Points
    5
    Par défaut [RESOLU]requête d'extraction de lieux (st et saint)
    Mon problème est toujours et ce malgrè votre aide..., j'essaye une requête sur PL/SQL du type:

    SELECT P.COUNTRY_CODE, P.FULL_NAME , P.POINT_CODE, P.PORT_CODE , T.PORT_TYPE, equiv_lcs(P.FULL_NAME, 'st%'||'etienne')
    FROM PORTS P, PORT_TYPE T
    WHERE SOUNDEX(FULL_NAME) LIKE SOUNDEX('st%'||'etienne')
    OR SOUNDEX(FULL_NAME) LIKE SOUNDEX('saint%'||'etienne')
    AND P.POINT_CODE=T.POINT_CODE ORDER BY equiv_lcs(P.FULL_NAME, 'st%'||'etienne') DESC, COUNTRY_CODE

    Mais le résultat retourné n 'est pas le bon.
    Mon objectif reste toujours le même, c'est à dire d'extraire de la table tous les 'st' et 'saint' que l'orthograpraphe de st etienne par exemple soit rentré dans la partie recherche avec st ou saint.

    Merci par avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    SOUNDEX() ne va pas t'aider : il va comparer ST et SNT et les poids ne seront pas les mêmes
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    ok mais le problème est que qd je les sepprime ma requête ne fonctionne plus.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    maitenant je ne trouve plus que des ST JEAN mais les SAINT JEAN

    SELECT P.COUNTRY_CODE, P.FULL_NAME , P.POINT_CODE, P.PORT_CODE , T.PORT_TYPE
    FROM PORTS P, PORT_TYPES T
    WHERE FULL_NAME like 'ST%'||'JEAN'
    or FULL_NAME like 'SAINT%'||'JEAN'
    AND P.POINT_CODE=T.POINT_CODE ORDER BY COUNTRY_CODE

  5. #5
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Et avec ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT P.COUNTRY_CODE, P.FULL_NAME , P.POINT_CODE, P.PORT_CODE , T.PORT_TYPE 
    FROM PORTS P, PORT_TYPES T 
    WHERE FULL_NAME like 'S%T_JEAN' 
    AND P.POINT_CODE=T.POINT_CODE 
    ORDER BY COUNTRY_CODE
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 9
    Points : 5
    Points
    5
    Par défaut ne fonctionne toujours pas
    ça ne marche toujours pas. je n'ai que la lieu ST JEAN. Je suis en train de réfléchir si ce n'est pas mieux de faire une requête de mise à jour, c'est à dire que chaques fois que l'utilsateur demandera un lieu, une requête transformera les ST en SAINT. Mais je sais pas si cela vaut le coup et si c'est complexe?

    Mais merci de ton aide!

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    Donnez les ordres SQL de création de vos tables (CREATE TABLE) ainsi que les INSERT d'un jeu de données basique afin que tout un chacun puisse reproduire ce que vous voulez faire sur son SGBDR afin de mieux vous aider.
    Exemple :
    Code:

    CREATE TABLE MaTable
    (Col1 VARCHAR(128),
    Col2 INTEGER,
    Col3 DATE,
    Col4 CHAR(32),
    CONSTRAINT PK_MaTable PRIMARY KEY (COL1, COL2))

    INSERT INTO MaTable (COL1, COL2, COL3)
    VALUES ('Un mot', 32, CURRENT_TIMESTAMP)
    INSERT INTO MaTable (COL1, COL2, COL3)
    VALUES ('Deux maux', 0, NULL)



    présentez le résultat que vous voulez voir apparaître sous la forme d'une table
    Exemple :
    Code:

    -- Le résultat attendu :
    NOM VILLE NOMBRE
    ------ ---------- ------
    MARTIN PARIS 2
    DUPOND STRASBOURG 3

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    merci à tous j'ai trouvé la solution...

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Re: RESOLU requête d'extraction de lieux (st et saint)
    Citation Envoyé par sdchamplas
    Mon problème est toujours et ce malgrè votre aide..., j'essaye une requête sur PL/SQL du type:

    SELECT P.COUNTRY_CODE, P.FULL_NAME , P.POINT_CODE, P.PORT_CODE , T.PORT_TYPE, equiv_lcs(P.FULL_NAME, 'st%'||'etienne')
    FROM PORTS P, PORT_TYPE T
    WHERE SOUNDEX(FULL_NAME) LIKE SOUNDEX('st%'||'etienne')
    OR SOUNDEX(FULL_NAME) LIKE SOUNDEX('saint%'||'etienne')
    AND P.POINT_CODE=T.POINT_CODE ORDER BY equiv_lcs(P.FULL_NAME, 'st%'||'etienne') DESC, COUNTRY_CODE

    Mais le résultat retourné n 'est pas le bon.
    Mon objectif reste toujours le même, c'est à dire d'extraire de la table tous les 'st' et 'saint' que l'orthograpraphe de st etienne par exemple soit rentré dans la partie recherche avec st ou saint.

    Merci par avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Requête/SQL] Extraction de versions
    Par voltrane dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 12/04/2007, 19h25
  2. requête d'extraction d'adresse clients
    Par bouba_95 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 27/02/2007, 09h31
  3. requête d'extraction sur le nom égal à des caractères numériques
    Par bouba_95 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 10/01/2007, 16h58
  4. Problèmes avec Requêtes d'extraction 2
    Par NoBru dans le forum Access
    Réponses: 4
    Dernier message: 06/06/2006, 22h05
  5. Problèmes avec Requêtes d'extraction
    Par NoBru dans le forum Access
    Réponses: 3
    Dernier message: 03/06/2006, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo