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

Requêtes MySQL Discussion :

Est-ce que c'est possible en une seule requête?


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Par défaut Est-ce que c'est possible en une seule requête?
    Bonjour,

    Je suis un peu une buse en MySQL, et je ne sais pas si ce que je veux faire est possible avec une seule, ou plusieurs requêtes MySQL, ou s'il faut traiter les résultats après.

    Voilà, je veux récupérer dans 2 tables bugzilla (bugs, longdescs) les infos suivantes :

    bug_id, work_time, who, assigned_to, bug_when, SI who est égal à un id donné OU que who n'est pas égal à un cet id ET qu'il n'y a pas d'autre enregistrement correspondant à cet id, tout celà est groupé par bug_id, bug_day, donc il peut y avoir plusieurs résultats avec un bug_id identique.

    J'arrive à faire la première partie, je coince sur la seconde. Je pourrais le faire en 2 fois, et encore, j'ai du mal à voir.

    Je ne sais pas si c'est très clair comme ça, je suis dedans depuis 2 jours, dites moi si vous avez besoin de plus d'infos pour m'aider

    Merci,

    Gérald

  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,

    un petit exemple stp

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Par défaut
    Je vais essayer :

    bug_id bug_day work_time who assigned_to
    2370 2008-12-29 3.00 8 33
    2366 2008-12-26 0.00 5 15
    2366 2008-12-29 1.00 15 15
    2361 2008-12-22 0.00 2 15
    2361 2008-12-28 0.00 17 15
    2360 2008-12-22 0.00 2 15
    2358 2008-12-22 0.00 2 15
    2354 2008-12-19 0.00 33 33

    Dans cette table je veux récupérer les infos concernant l'id 15

    2366 2008-12-29 1.00 15 15
    2361 2008-12-22 0.00 2 15
    2360 2008-12-22 0.00 2 15
    2358 2008-12-22 0.00 2 15

    Donc pour le bug_id 2366, la ligne qui contient un who=15, pour les autres, une ligne, peut importe la valeur de who, et j'ignore les lignes dont le assigned_to est différent de 15.

    Précision utile, le format des tables (simplifié) :

    table bugs : bug_id, assigned_to

    table longdescs :
    bug_id, who, bug_when, work_time

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Par défaut
    J'ai comme dans l'idée qu'il faut faire mumuse avec les fameux JOIN... Je suis en train de tester ça, en suivant ce lien http://sqlpro.developpez.com/cours/sqlaz/jointures/ trouvé sur ce forum. Ca marche déjà mieux que ce que j'ai fait jusqu'à présent.

  5. #5
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut précisions
    Si je comprends bien, ta première liste de données est la table SQL et la seconde est un exemple de résultat que tu veux obtenir. C'est bien ça ?

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Par défaut
    Non, mon exemple est tout pourri en fait

    En fait j'ai plutôt :
    dans la table bugs :
    bug_id assigned_to
    2370 33
    2366 15
    2361 15
    2360 15
    2358 15
    2354 33

    la table longdescs
    bug_id when work_time who
    2370 2008-12-29 3.00 8
    2366 2008-12-26 0.00 5
    2366 2008-12-29 1.00 15
    2361 2008-12-22 0.00 2
    2361 2008-12-28 0.00 17
    2360 2008-12-22 0.00 2
    2358 2008-12-22 0.00 2
    2354 2008-12-19 0.00 33

    et je veux ça :
    2366 2008-12-29 1.00 15 15
    2361 2008-12-22 0.00 NULL 15
    2360 2008-12-22 0.00 NULL 15
    2358 2008-12-22 0.00 NULL 15

  7. #7
    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
    Citation Envoyé par geraldgg Voir le message
    J'ai comme dans l'idée qu'il faut faire mumuse avec les fameux JOIN...
    je dirais même jointure externe (left join, right join) si j'ai bien compris

  8. #8
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut
    Alors là Cybher t'a carrément donné l'indice final

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

Discussions similaires

  1. Est-ce possible en une seule requête ?
    Par pc75 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/09/2013, 09h08
  2. Réponses: 2
    Dernier message: 04/12/2009, 19h12
  3. est-ce que python est ce que je cherche
    Par SILICONE dans le forum Général Python
    Réponses: 5
    Dernier message: 21/12/2007, 14h23
  4. [GD] Est-ce que c'est possible qu'une fonction tourne mieux sur Win et pas sur Linux
    Par nkki_nkki dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 22/07/2007, 17h34
  5. Est ce que c'est possible de télécharger ce forum génial ?
    Par dz_robotix dans le forum Evolutions du club
    Réponses: 2
    Dernier message: 11/09/2006, 15h12

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