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 :

Aide sur l'écriture d'une requête (si elle est réalisable)


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 38
    Points : 26
    Points
    26
    Par défaut Aide sur l'écriture d'une requête (si elle est réalisable)
    Salut tous le monde,

    Alors voila je suis un peu bloquer sur l’écriture d'une requête SQL, je ne sais pas non plus si c'est possible de faire ce que je veut... Donc je vous explique,

    J'ai une table avec plusieurs champs, danc cette table j'ai 4 champs a, b, c, d, mon utilisateur va entrer des mots dans une barre de recherche séparer par des espaces, je vais donc avoir par exemple mot1, mot2.

    J'aimerais savoir si il est possible en SQL de chercher dans ma table si je trouve le mot1 et le mot2 dans 2 de mes 4 champs (a,b,c,d), par exemple chercher si je trouve le mot1 dans a et le mot2 dans c ou le mot2 dans b et le mot1 dans d, je ne vois pas du tout comment écrire cela en SQL.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    bonjour,

    Bien sur c'est possible

    Reste à savoir si vous cherchez la correspondance exacte ou non, si la recherche est "sensible à la casse", s'il faut une correspondance sur 2 et seulement 2 colonnes ou bien 2 et plus etc...

    Selon les cas, la fréquence de la recherche et le volume dans les tables, vous utiliserez une recherche full-text ou un prédicat like

    La solution dépend aussi de votre SGBD, quel est il ?

  3. #3
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Je ne vois pas en quoi cela n'est pas possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     where (a like '%mot1%' and c like '%mot2%')
        or
            (b like '%mot2%' and d like '%mot1%');
    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    bonjour,

    Bien sur c'est possible

    Reste à savoir si vous cherchez la correspondance exacte ou non, si la recherche est "sensible à la casse", s'il faut une correspondance sur 2 et seulement 2 colonnes ou bien 2 et plus etc...

    Selon les cas, la fréquence de la recherche et le volume dans les tables, vous utiliserez une recherche full-text ou un prédicat like

    La solution dépend aussi de votre SGBD, quel est il ?
    C'est déjà bien si c'est possible .
    Alors pour la correspondance oui j'aimerais quelle soit exacte et non sensible à la casse. Pour la correspondance avec les champs ça va dépendre du nombre de mots que l'utilisateur va taper, si il rentre 2 mots je veut faire une recherche sur 2 champs. Un exemple concret dans ma table je vais avoir


    a | b | c | d
    ------------------------------------------------------------------------------------------------------
    toto | titi | tata | test
    ------------------------------------------------------------------------------------------------------
    exemple | tutu | sql | azer



    Donc dans cette exemple si mon utilisateur tape "toto tata" j'aimerais que ma requête trouve dans ma table le mot toto et tata que ce soit dans le champ a,b,c ou d donc j'aimerais dans cette exemple avoir la ligne 1 car toto se trouve en a et tata en c.
    Pour le SGBD j'utilise MySQL

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par kolodz Voir le message
    Je ne vois pas en quoi cela n'est pas possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     where (a like '%mot1%' and c like '%mot2%')
        or
            (b like '%mot2%' and d like '%mot1%');
    Cordialement,
    Patrick Kolodziejczyk.
    Le soucis c'est que je ne sais pas que le mot1 va être va dans a ou que le mot2 soit en b en faite toutes les combinaisons sont possibles

  6. #6
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Pour les variables, ça se remplace lors de la recherche...

    Pour la combinatoire ce que tu cherche c'est d'avoir les mot1 et le mot2 dans un autre champs où avoir les deux dans un champs quelconque ?
    Car, ce n'est pas la même chose à coder de base...

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Je veux avoir le mot 1 dans n'importe quel champ a,b,c,d et le mot2 dans n'importe quel champ aussi a,b,c,d, sachant qu'il n'est pas possible d'avoir le mot1 et le mot2 dans le même champ j'espère être clair

Discussions similaires

  1. aide sur écriture d'une requète
    Par awalter1 dans le forum SQL
    Réponses: 3
    Dernier message: 23/11/2010, 14h28
  2. Aide pour l'écriture d'une requête
    Par mims1664 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/04/2009, 20h23
  3. Aide sur l'adaptation d'une requête.
    Par innova dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/03/2007, 16h30
  4. [SYBASE] Aide pour l'écriture d'une requête
    Par karine77 dans le forum Sybase
    Réponses: 2
    Dernier message: 26/04/2005, 10h57

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