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 :

Colonne liée à plusieurs valeurs d'une autre : Sous requête ?


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Colonne liée à plusieurs valeurs d'une autre : Sous requête ?
    Bonjour

    Je cherche à faire une requete d'apres les résultats d'une (ou plusieurs) autres requetes.
    A priori, une sous requete donc.

    voici ma table :

    id_attribute id_product_attribute
    29 49676
    73 49676
    21 49676
    86 49676

    30 49675
    73 49675
    21 49675
    86 49675
    28 49674
    73 49674
    21 49674
    86 49674
    29 49673
    72 49673
    21 49673
    86 49673
    30 49672

    72 49672
    21 49672
    ...
    il y a beaucoup d'enregistrements (+60000)

    je souhaite une requete permettant de trouver un id_product_attribute, sachant que chaque id_product_attribute correspond a une combinaison de id_attribut
    Par exemple, si mes parametre sont id_attribute = 29,73,21,86, je souhaite trouver 49676

    Quelqu'un pourrait m'aider à écrire une telle requete ?

    Merci à tous

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Tu cherches donc le ou les id_product_attribute liés aux id_attributes 29, 73, 21 et 86.

    On va supposer que ces couples {id_attribute, id_product_attribute} sont uniques puisqu'il semble que ce soit une table associative et que ces couples en constituent la clé primaire.

    Voici la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT id_product_attribute
    FROM la_table
    WHERE id_attribute IN (21, 29, 73, 86)
    GROUP BY id_product_attribute
    HAVING COUNT(*) = 4
    Il n'y a pas de sous-requête !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    J'ai un sourire béat qui ne me quitte plus depuis que j'ai lu ton post.
    Juste mille merci, c'est top
    Je ne connaissais pas l'opérande IN, je vais creuser le doc la dessus.

    Vraiment, merci

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/10/2012, 16h18
  2. [Débutant] colonne liées aux données d'une autre table
    Par Lendcap dans le forum VB.NET
    Réponses: 1
    Dernier message: 03/04/2012, 22h26
  3. Réponses: 3
    Dernier message: 10/06/2011, 10h51
  4. Copie de colonnes de plusieures tables dans une autre table
    Par PPLILH2008 dans le forum Modélisation
    Réponses: 3
    Dernier message: 04/06/2008, 15h09
  5. Réponses: 2
    Dernier message: 03/01/2008, 16h15

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