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 dans un table unique


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Points : 7
    Points
    7
    Par défaut Recherche dans un table unique
    salut à tous,
    je dispose d'une enorme table comportant pres d'une trentaine de champs.
    je cherche à faire différentes requête pour accèder aux données souhaitées.

    Voici la table :

    RS
    ADR
    CNAF
    ORIG
    DAP
    DAS
    EFFTOT
    ZA
    SUTEROC
    SUBATOC
    EFFCDI
    EFFCDD
    EFFINT
    TAXEP
    NOMZA
    LISTE_COMMUNES
    LOCZONE
    SUTOTZONE
    SUTOTDISPF
    SUTOTPRVF
    SUTOTDISPFV
    NBPARCVD
    TAPARCMA
    TAPARCMI
    IMBDISP
    IMBPRV
    COMMUNES
    NBHAB
    NBDEFM1
    NBDEFM1J
    NBDEFM1F
    NBDEFM1H
    NBDEFM112_24
    NBDEFM1F12_24
    NBDEFM1H12_24
    NBDEFM1J12_24
    NBDEFM124
    NBDEFM1F24
    NBDEFM1H24
    NBDEFM1J24
    NBDEFMN1
    NBDFMN1J
    NBDEFMN1F
    NBDEFMN1H
    NBDEFMN2
    NBDEFMN2J
    NBDEFMN2F
    NBDEFMN2H
    NBDEFMN3
    NBDEFMN3J
    NBDEFMN3F
    NBDEFMN3H
    NBDEFMN4
    NBDEFMN4J
    NBDEFMN4F
    NBDEFMN4H
    NBDEFMN5
    NBDEFMN5J
    NBDEFMN5F
    NBDEFMN5H
    NBDEFMN6
    NBDEFMN6J
    NBDEFMN6F
    NBDEFMN6H
    NBBENRMI
    NBBENRMIJ
    NBBENRMIF
    NBBENRMIH

    chaque ligne de cette table correspondra à des valeurs pour différents formulaire.
    par exmple, je peux remplir les données uniquement pour :

    RS
    ADR
    CNAF
    ORIG
    DAP
    DAS
    EFFTOT
    ZA

    le reste etant vide. puis une nouvel enregistrement pour une ZA.

    NOMZA
    LISTE_COMMUNES (champ listant les villes séparées par une "," ou ";")
    LOCZONE
    SUTOTZONE

    Puis une commune,

    COMMUNES
    NBHAB

    la ZA est normalement liée aux communes par les champs LISTE_COMMUNES et COMMUNES.
    mais LISTE_COMMUNES est un champ comportant plus communes et COMMUNES une.
    Comment faire ?
    ci-joint un fichier exemple de la table
    Fichiers attachés Fichiers attachés

  2. #2
    Membre du Club Avatar de passie
    Inscrit en
    Février 2005
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 56
    Points : 55
    Points
    55
    Par défaut
    Bonjour
    je cherche à faire différentes requête pour accèder aux données souhaitées.
    Alors la je pense qu'il te faut voir l'ordre select de SQL (qui est quant même l'ordre pricipal cf tous les tutos à ce sujet)
    Bref peut importe le nom bre de champs de ta table puisque tu les spécifies dans ta requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CNAF,DAP,RS FROM `formulaire_base
    Maintenant je crois comprendre que c'est plutôt de l'insertion de données que tu souhaite faire, la non plus pas de probléme je pense (cf ordre INSERT par expl).
    vérifie tout de même s'il n'existe pas de contrainte particulière sur les champs que tu laisse NULL pour chaque enregistrement le plus génant étant justement la contrainte NOT NULL.

    Si tu me parle à la fois de ZA, de communes et autres alors peut être à tu un probléme de modélisation de ta base.
    je dispose d'une enorme table comportant pres d'une trentaine de champs
    alors que justement peut être faudrait il avoir plusieurs tables plus petites mais la tu doit voir cela via les tutos (méthode MERISE par expl)

    Je ne sais pas si j'ai bien compris et répondu à tes questions

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Points : 7
    Points
    7
    Par défaut
    non en fait, c la recherche d'info qui va me poser problème.
    surtout pour les champs LISTE_COMMUNES et NOM_COMMUNE.
    pour faire obtenir les infos, je dois , suivant certain champs, faire deux boucles dans le tableau, donc faire une autojointure.
    Pour les champs ZA et NOMZA pas de problème, j'ai f1.ZA=f2.NOMZA ou f1 join f2 on f1.ZA=f2.NOMZA
    mais pour LISTE_COMMUNES ET NOM_COMMUNE c'est plus délicat.
    Le contenu de LISTE_COMMUNES est : "commune1, commune2, commune3" etc
    et NOM_COMMUNE est "commune1"

    question : comment faire la jointure ?

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Utiliser une colonne pour stocker une liste est une très mauvaise idée, néanmoins tu peux faire une jointure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ON ',' || Liste_Commune || ',' LIKE ',' || Nom_Commune || ','
    || est l'opérateur de concaténation.
    Encadrer les deux colonnes pas des ',' est obligatoire pour éviter qu'une recherche sur SAINT QUENTIN ramène aussi SAINT QUENTIN DES ISLES (ceci dit, le nom des communes n'est pas unique) ; ceci ne marche que si le séparateur n'apparaît jamais dans les noms (vraisemblable ici).

Discussions similaires

  1. Recherche dans une table via un formulaire
    Par Z[ee]k dans le forum Access
    Réponses: 3
    Dernier message: 05/06/2006, 11h14
  2. [MySQL] Recherche dans la table impossible
    Par tonguim dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/05/2006, 22h12
  3. [VB6] Erreur durant la recherche dans une table
    Par quaife dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/04/2006, 17h21
  4. Recherche dans une table
    Par Fredo67 dans le forum Access
    Réponses: 2
    Dernier message: 28/02/2006, 17h21
  5. recherche dans une table Access en ASP
    Par D-D dans le forum ASP
    Réponses: 3
    Dernier message: 09/06/2004, 10h12

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