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 :

[SQL Access / ASP] Tester une égalité


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Par défaut [SQL Access / ASP] Tester une égalité
    Bonjour, je developpe en asp 3.0 avec une base ACCES.

    J'ai un soucis avec ma requete sql.

    J'ai une table Individu (Nom * Email * Choix1 * Choix2)
    Les 4 champs sont de type texte et les champs "choix1" et "choix2" comprennent une liste de choix fait par l'internaute et stoké comme suit : "1, 45, 12"

    Ma requete consiste a recherche dans la base les Individu qui ont choisi par exemple "1" pour le "choix1" et "12" pour le "choix2".

    Donc ma requete :
    Code:
    SELECT * FROM individu WHERE (choix1 LIKE '%1%') AND (choix2 LIKE '%12%')

    Avec les enregistrements :
    Toto * toto@toto.com * 1, 2, 3 * 10, 11, 12
    Toto1 * toto1@toto.com * 7, 8 * 10, 11, 12
    Toto2 * toto2@toto.com * 1, 3 * 14

    il devrais me resortir l'engeristrement "Toto", hors il me resort rien !

    Je ne comprend pas pourquoi la requete ne me resort pas mes individu qui ont les bons critères.

    Si quelqu'un a une explication, merci d'avance

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut ch'ti gars,

    pour access, il me semble qu'il faut utiliser * au lieu de %

    a vérifier


    PS : jai jamais utilisé access donc je dis peut etre une grosse connerie....

  3. #3
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Pourquoi un LIKE pour tester une égalité ?
    Pourquoi stocker des valeurs numérique dans un type texte ?

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    Il me semble que ce n'est pas une égalité justement Tofalu. Choix 1 est une suite de 3 nombres séparés par une virgule d'apres l'exemple

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    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 998
    Billets dans le blog
    6
    Par défaut
    Avec un modèle pareil, vous serez bien dans la M.... lorsque vous en serez au choix 11 !!!

    commencez par normaliser votre base, les requêtes vont devenir simples, évidentes et performantes. Par ce que vous cumulez la pire des choses :
    1) Access le SGBDR le plus contre performant de tous les temps
    2) un modèle dénormalisé
    3) l'opérateur LIKE avec joker au deux bouts.

    Il aurait été plus rapide et performant d'utiliser du COBOL et des fichiers plats !

    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/ * * * * *

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Par défaut
    ALors concernant le choix de sgbd, j'ai justement pas eu le choix donc je fais avec.
    Pour le nombre de choix, ca va osciller entre 1 et 3 choix

    Le choix du COBOL c'est une blague ?

    En tout cas merci pour le renommage du topic, mais je cherche pas a tester une égalité

    Sinon merci grand gars (Cybher), car en effet tu a mis le doigt sur mon erreur, faut utiliser "*" au lieu de "%".

    Sinon je confrme, Acces c'est pas le top

  7. #7
    Membre éprouvé Avatar de Le Pharaon
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 880
    Par défaut
    @ch_lensois : Le vrai problème se situe au niveau du modèle.
    Tu ne dois pas mettre choix1 et choix2 (qui représentent chacun un ensemble de chiffres) comme propriétés d'une table.

    Je te suggère de poster dans le forum MERISE et on pourra régler le problème ensemble

    Citation Envoyé par SQLpro
    1) Access le SGBDR le plus contre performant de tous les temps
    Ce n'est pas moi qui te démentirai.

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

Discussions similaires

  1. VBA, SQL, Access: Creer/Enregistrer une Requete
    Par Lameth dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/02/2011, 20h07
  2. Réponses: 10
    Dernier message: 30/11/2006, 23h06
  3. [Access] Nom d'une table avec un espace dans SQL
    Par Corsaire dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/04/2006, 15h50
  4. Optimiser une Requetes SQL sous ASP
    Par NeHuS dans le forum ASP
    Réponses: 8
    Dernier message: 18/04/2005, 16h26
  5. [SQL Access] Modifier la structure d'une table
    Par Le Lézard dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/06/2004, 14h03

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