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 :

requête casse-tête pour une seule table..


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de MikeV
    Profil pro
    Webmaster
    Inscrit en
    Mai 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2007
    Messages : 93
    Par défaut requête casse-tête pour une seule table..
    Bonjour,
    J'ai perdu beaucoup de temps à essayer de trouver une requête qui permettrais de prendre ce tableau :

    NoMotCle | MotCle | Cat | Scat1 | Scat2 | Scat3 |
    -------------------------------------------------
    1 |Accessoires| 17 | 25 | 1 | 3
    2 |Informatique| 13 | 3 | 9 | 12
    3 |Soins| 22 | 54 | 9 | 12
    4 |Telecom| 2 | 33 | 4 | 12
    ...

    ...j'aimerais sortir un tableau semblable à ma table de départ à la différence que à la place des numéros dans les champs Cat, Scat1, Scat2,Scat3 jaimerais pouvoir aller chercher le Motcle correspondant. Exemple à la ligne Telecom, à la place d'afficher 2 sous Cat j'aimerais y retrouver Informatique.

    Voici ma requête:
    SELECT table1.*, table2.Cat AS nom_de_categorie
    FROM motcle AS table1
    INNER JOIN motcle AS table2
    ON table1.NoMotCle = table2.NoMotCle

    J'ai essayer de mettre une sous requête à la place de "table2.Cat AS nom_de_categorie" mais SQL ne l'as pas prise

    Que faire !?!

  2. #2
    Membre éclairé
    Avatar de Sieldev
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 259
    Par défaut
    Peux tu me donner les tables concernés par la requête et leurs liens de gestion?

  3. #3
    Membre confirmé Avatar de MikeV
    Profil pro
    Webmaster
    Inscrit en
    Mai 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2007
    Messages : 93
    Par défaut
    En fait il sagit de la seule table concerné.

    à l'affichage, je voudrais récupérer le numéro du mot clé se trouvant dans les champs(Cat, scat1,scat2,scat3)...puis le transformer en texte (le numéro sous Cat par exemple: il correspond à un MotCle qui correspond à un NoMotCle.

  4. #4
    Membre éclairé
    Avatar de Sieldev
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 259
    Par défaut
    D'accord je crois avoir compris ce que tu veux, mais je pense que tu pars dans la mauvaise direction.
    D'aprés ce que j'ai compris, tu veux une table avec des catégories et qui peuvent être sous-catégorie entre elles.
    Donc on peut avoir:
    Une catégorie peut détenir aucune ou plusieurs sous-catégories
    Une sous-catégorie peut composé aucune ou plusieurs catégories


    Une des solutions à ton probléme est de faire une association réflexive.


    Ou tu auras deux tables:
    categorie(NumCategorie, NomCategorie)
    detenir(NumCategorie_Mere#, NumCategorie_Fille#)

    La table categorie aura le numéro de la catégorie et sa désignation

    La table detenir fera les correspondances entre la catégorie et ses sous-catégories à l'aide des clés etrangéres.
    Par exemple si dans la table detenir tu as 1 dans le champs NumCategorie_Mere et les chiffres 3 et 4 dans le champs NumCategorie_Fille tu sauras que la catégorie "Accessoire" (NumCategorie=1) à pour sous-catégorie "Soins" (NumCategorie=3) et "Télécom" (NumCategorie=4)

  5. #5
    Membre confirmé Avatar de MikeV
    Profil pro
    Webmaster
    Inscrit en
    Mai 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2007
    Messages : 93
    Par défaut
    Super ! Merci beaucoup !


    Cette structure correspond bien à ce que je veux faire.
    Je vais mettre cela en pratique maintenant...

  6. #6
    Membre confirmé Avatar de MikeV
    Profil pro
    Webmaster
    Inscrit en
    Mai 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mai 2007
    Messages : 93
    Par défaut
    humm..
    j'ai créer une autre table "Detenir"
    Dès que je place un autre SELECT dans ma requête tout déraille.
    (#1242 - Subquery returns more than 1 row )
    J'ai pourtant besoin de faire 3 sous-requêtes pour faire afficher les mots plutôt que les chiffres.

    SELECT Categorie.NomCategorie as Cat,(SELECT Categorie.NomCategorie FROM Categorie, Detenir WHERE Detenir.NumCategorie_Fille = Categorie.NumCategorie)
    FROM Detenir
    INNER JOIN Categorie
    ON Detenir.NumCategorie_Mere = Categorie.NumCategorie

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

Discussions similaires

  1. [AC-2007] Champ calculé comme valeur dans une requête analyses croisées avec une seule table
    Par The old fool dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 11/10/2014, 10h15
  2. [MySQL] mysqldump pour une seule table
    Par francoisch dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/09/2013, 18h47
  3. [2.x] Plusieurs entités pour une seule table
    Par JackStrieger dans le forum Symfony
    Réponses: 7
    Dernier message: 03/09/2013, 22h24
  4. casse tête pour choper des colones d'une requète ?:?
    Par hiul dragonfel dans le forum Langage
    Réponses: 3
    Dernier message: 12/11/2009, 17h57
  5. Table de jointure pour une seule table
    Par Louis-Guillaume Morand dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 06/10/2005, 18h49

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