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 :

Comment trouver la phrase qui contient le plus de mots d'une liste ?


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 7
    Par défaut Comment trouver la phrase qui contient le plus de mots d'une liste ?
    Bonjour,
    je recherche une aide pour résoudre le problème suivant :
    j'ai 3 tables,
    phrases(id,texte)
    mots(id,texte)
    mots-dans-phrases(mots_id,phrases_id)

    La table mots-dans-phrases est constiuée avec les id (clé primaires) des tables phrases et mots. et liste la présence des mots dans les phrases. Plusieurs entrées identiques peuvent coexister.

    Mon objectif est selon un jeu de mots uniques donné, trouver la phrase qui en contient le plus.
    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    Compter le nombre de mot dans une chaine de caractères n'est pas une fonction standard de SQL.

    Cette fonction peut peut-être exister dans certains SGBD ?? Elle n'existe pas sous FIREBIRD.

    Il est donc impératif d'indiquer ton SGBD (comme le demande les règles du forum )

    Dans le cas contraire, il faut passer par une procédure stockée et utiliser la fonction POSITION (dans FIREBIRD).

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 7
    Par défaut
    Il ne s'agit pas de compter les mots dans la phrase mais de trouver dans la 3eme table l'id de la phrase ayant le plus de correspondances différentes avec les mots d'une liste donnée.
    Je sèche!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 7
    Par défaut
    SGBD : MYSQL (j'avais oublié)

  5. #5
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    Là, à ma connaissance, pas d'autres choix que de passer par une PS en utilisant la fonction POSITION (ou équivalent).
    Elle retourne la position du mot dans la chaine. Si le résultat est supérieur à zéro, le mot est présent et faire ainsi de suite pour les mots de la table "mots" et pour les chaines de la table "phrases".

    Je ne connais pas MySql, Sorry (je ne sais même pas si les PS existe sous MySql )

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 7
    Par défaut
    C'est une solution mais assez lourde je pense. Mysql supporte les PS.
    Merci

  7. #7
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    oui et non

    la PS ne sera demande qu'a la création/modification d'une phrase, non

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/05/2014, 19h10
  2. Réponses: 9
    Dernier message: 24/06/2008, 09h45
  3. comment fermer un site qui contient des framesets
    Par zana74 dans le forum Langage
    Réponses: 6
    Dernier message: 20/08/2006, 16h45
  4. Réponses: 1
    Dernier message: 05/12/2005, 22h49

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