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 :

Requete conditionelle complexe


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 27
    Points : 17
    Points
    17
    Par défaut Requete conditionelle complexe
    Bonjour

    J'essaye de faire une petite requete un peut complexe et je ne sais pas comment m'y prendre. Voila le topo, il y a deux tables "User" et "Tag" que voici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE TABLE `user` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) NOT NULL,
      PRIMARY KEY (`id`),
    );
     
    CREATE TABLE `tag` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `user_id` varchar(255) NOT NULL,
      `name` varchar(255) NOT NULL,
      PRIMARY KEY (`id`),
    );
    User étant lier à Tag par une relation de type 1:n, soit un User peut avoir plusieurs Tag, bref...

    Ce que j'aimerais faire c'est récupérer tout le User qui est lié au Tag.id = 8 (par exemple) MAIS récupérer aussi tout les autre Tag qui sont lier à ce User. Pour l'instant j'ai cet requête, malheureusement je ne sais pas comment la modifier pour quelle récupère tout les tag.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * 
    	FROM `User` 
    	LEFT JOIN `Tag` ON `Tag`.`user_id` = `User`.`id` 
    WHERE
     	`Tag`.`id` = 8
    Je ne pense pas que ça soit très complexe, mais c'est tout de même au dessus de mes compétences, quelqu'un à une idée ?

    Merci =)

  2. #2
    Membre éclairé Avatar de ypcman
    Homme Profil pro
    Retraité codeur !
    Inscrit en
    Janvier 2011
    Messages
    595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité codeur !
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 595
    Points : 879
    Points
    879
    Par défaut
    Salut.
    Tu dis :
    User étant lier à Tag par une relation de type 1:n, soit un User peut avoir plusieurs Tag, bref...
    1:n cela veut aussi dire qu'un tag ne peut avoir qu'un user, donc
    Ce que j'aimerais faire c'est récupérer tout les User qui sont lié au Tag.id = 8
    n'a guère de sens puisque qu'un tag n'a qu'un seul user (défini par user_id).

    Ce que tu veux peut-être savoir c'est : quels sont tous les tags du user qui a le tag d'id 8 ?
    Si c'est le cas alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT tag.name FROM tag WHERE user_id IN (SELECT user_id FROM tag WHERE tag.id='8')
    Participez vous aussi !
    Message utile
    Discussion résolue

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 27
    Points : 17
    Points
    17
    Par défaut
    Que voilà une réflexion pertinente ypcman, en effet voulant simplifier le problème, je l'ai rendu caduc =/ J'ai donc corriger mon poste initiale pour qu'il soit cohérent.

    Et ta solution était effectivement ce que je voulais faire. Du coup je m'en vais la tester, voir si cela couvre bien tous mes cas d'utilisations =)

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

Discussions similaires

  1. Requete conditionelle complexe
    Par p_m_g dans le forum Langage SQL
    Réponses: 4
    Dernier message: 23/11/2007, 15h08
  2. Requete SQL complexe
    Par isa21493 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 28/02/2006, 16h43
  3. Requete sql complexe
    Par ekinoxe dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 11/01/2006, 16h16
  4. [C#/MySQL] Requete conditionelle
    Par vincent.e dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/12/2005, 17h51
  5. Err. 3360 , 'Requete trop complexe'
    Par fabrice518 dans le forum Access
    Réponses: 4
    Dernier message: 18/11/2005, 14h43

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