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 :

Recherche exacte avec concat


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 56
    Points : 38
    Points
    38
    Par défaut Recherche exacte avec concat
    Bonjour,

    J'ai trouver comment faire une recherche d'une valeur sur plusieurs colonnes a l'aide grâce à concat.
    C'est une table de course PMU.

    Si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT*FROM DepartWHERECONCAT(col1,col2...)LIKE'%VALEUR%'
    cela fonctionne presque bien. au détail près, que forcement on a un LIKE et donc si un cheval s'appel henry et un autre henry du machin. Je trouve les 2.
    Donc pour moi la logique serait de faire ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT*FROM DepartWHERECONCAT(col1,col2...)='VALEUR'
    Je suis pas un expert, je me sert beaucoup de ce que je trouve sur le net, mais c'est vrai avec concat c'est avec like.
    Merci de votre aide
    Un peu touche a tous

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 801
    Points
    30 801
    Par défaut
    Bonjour,

    La requête met en évidence une erreur de conception dans la modélisation de la base de données...
    Si une valeur doit être recherchée dans plusieurs colonnes de la même table, c'est qu'à l'évidence ces colonnes ne sont pas à leur place et qu'une table fille regroupant ces données dans une seule colonne aurait été plus adaptée.

    Ceci étant posé, en composant avec cette structure bancale on peut ajouter des séparateurs aux valeurs pour se focaliser sur la chaine recherchée.

    L'expression CONCAT('§', col1, '§', col2, '§', ...) LIKE '%§VALEUR§%' devrait donner le résultat escompté.
    Tout autre caractère que § peut bien sûr être utilisé comme séparateur, à condition d'être certain qu'il n'apparaisse pas dans les valeurs recherchées.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Bonjour,

    La requête met en évidence une erreur de conception dans la modélisation de la base de données...
    Si une valeur doit être recherchée dans plusieurs colonnes de la même table, c'est qu'à l'évidence ces colonnes ne sont pas à leur place et qu'une table fille regroupant ces données dans une seule colonne aurait été plus adaptée.

    Ceci étant posé, en composant avec cette structure bancale
    ...
    Merci, de pointer ce tu pense être une erreur de conception qui est fort possible. (c'est un loisir, donc je ne pratique pas tout le temps)
    Donc, comme c'est une ébauche, je vais peut être voir pour reprendre mon modèle. A l'origine, j'ai fait une maquette avec Calc. Malgré un portage intéressant sous android d'OpenOffice cela c'est avéré une usine à gaz.
    J'ai a l'heure actuelle une table avec mes infos sur les chevaux. Ce qui concerne les courses j'ai réfléchi, que de penser "linéaire" une course et X colonnes par partant. La solution "verticale" semblerai plus simple et surement plus souple surtout pour les recherches. (à l'origine, je posais la question sur la limite de ligne).

    Merci de ton aide
    Un peu touche a tous

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    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 136
    Points : 38 909
    Points
    38 909
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Les questions relatives à la modélisation des bases de données doivent être posées ici :
    https://www.developpez.net/forums/f6...sation/schema/

    La modélisation des courses hippiques est un sujet complexe, voici un exemple de MCD ici :
    https://www.developpez.net/forums/d1...ses-hippiques/

    Sujet repris plus récemment dans le fil de discussion suivant (à partir de la réponse n° 53 de Fsmrel) :
    https://www.developpez.net/forums/d4...-realiser-mcd/

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 56
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    Merci de ton attention.
    J'ai donc repris mes quelques bases de données, en suivant des exemples car franchement c'est clair que c’était plus bancale. Mes scripts php en sont plus que simplifier et plus digeste.

    Concernant l'approches du PMU, je laisse le soins aux passionnés qui font un travail formidable. Pour ma part je regarde du coté de la numérologie (une approche plutôt ésotérique). Peut être dans le temps je vais m'approcher sur certain modèle.
    Un peu touche a tous

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

Discussions similaires

  1. [Spip] [Choix] Recherche CMS avec possibilité multilingue
    Par JuTs dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 04/05/2006, 18h57
  2. Recherche CMS avec intégration de forum phpBB
    Par kirsoul dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 25/03/2006, 12h41
  3. Réponses: 2
    Dernier message: 21/12/2005, 19h33
  4. Recherche "étoilée" avec std::set
    Par guejo dans le forum MFC
    Réponses: 2
    Dernier message: 06/05/2004, 13h28
  5. [langage] recherche exactement un modif
    Par toto_titi dans le forum Langage
    Réponses: 3
    Dernier message: 04/07/2003, 11h00

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