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 - Regroupement ( mis a jour de requete )


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 16
    Points : 14
    Points
    14
    Par défaut SQL - Regroupement ( mis a jour de requete )
    Bonjour à tous,

    J'ai un petit probléme intéréssant.

    Tout d'abord voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    switch (ddlCritere1.SelectedIndex)
                {
                    case 1: requete += " and id_phone in (select id_phone from operation where id_operation_type = 3)"; break;
                    case 2: requete += " and id_phone not in (select id_phone from operation where id_operation_type = 3)"; break;
                    default: break;
                }
     
                switch (ddlCritere2.SelectedIndex)
                {
                    case 1: requete += " and id_phone in (select id_phone from operation where id_operation_type = 8) "; break;
                    case 2: requete += " and id_phone not in (select id_phone from operation where id_operation_type = 8) "; break;
                    default: break;
                }
     
                switch (ddlCritere2Bis.SelectedIndex)
                {
                    case 0: if (ddlCritere2.SelectedIndex > 0) requete += ")"; break;
                    default: if (ddlCritere2.SelectedIndex > 0) requete += " and operation_name = '" + ddlCritere2Bis.SelectedValue + "')"; break;
                }
                switch (ddlCritere3.SelectedIndex)
                {
                    case 1: requete += " and id_phone in (select id_phone from operation where id_operation_type = 9) "; break;
                    case 2: requete += " and id_phone not in (select id_phone from operation where id_operation_type = 9) "; break;
                    default: break;
                }
    Voila je voudrais savoir s'il y a une facon quelconque pour regrouper pour reduire la requete parce que quand tous ont leurs case 1.

    ca fait un truc du genre :

    and id_phone in (select id_phone from operation where id_operation_type = 3)and id_phone in (select id_phone from operation where id_operation_type = 8)and id_phone in (select id_phone from operation where id_operation_type = 9)

    donc voila esce possible d'arriver à :

    and id_phone in ( select id_phone from operation where id_operation_type in (3,8,9) ???

    Merci d'avance .

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    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 099
    Points : 28 390
    Points
    28 390
    Par défaut
    Avez-vous lu ces Règles du forum Langage SQL avant de poster ?
    En particulier, ceci :
    Ce forum est dédié au langage SQL, merci donc de bien vouloir vous limiter à celui-ci lors de la citation de votre code. Notamment les différents langage (php, java, delphi, DotNet...), étant difficilement lisible pour les profanes veuillez l'éviter

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Bonjour,

    C'est purement un problème de programmation, qui n'a rien à voir avec le SQL...
    En effet, il faut boucler différemment, au niveau du deuxième IN dans la dernière condition que tu exposes.

    ced

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Merci et excuser moi pour cette erreure de topic.

    Je vais aller poster dans la rubrique aproprié si mon probléme n'est pas résolu.

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

Discussions similaires

  1. Problèmes avec ma requete SQL de mise a jour
    Par k750_b dans le forum Langage SQL
    Réponses: 5
    Dernier message: 19/02/2008, 23h22
  2. [Etat][SQL]Regroupement entre requete et état
    Par poplite dans le forum IHM
    Réponses: 1
    Dernier message: 21/03/2007, 13h21
  3. [Access] Requete de mis a jour et d'ajout complex
    Par abdallahi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/12/2006, 17h56
  4. [SQL] date du jour dans requete sql
    Par heteroclite dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 17/10/2006, 00h50
  5. Regroupement par tranche dans une requete SQL (MS SQL)
    Par AODRENN dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/03/2006, 13h21

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