Cherche bonne commande SQL

bartholomey Messages postés 23 Statut Membre -  
bartholomey Messages postés 23 Statut Membre -
Bonjour,
J'ai un p'tit peu de mal à construire ma requête MySQL pour faire ce que je veux faire...

J'ai 2 tables : "articles_tags" et "tags"
dans "articles_tags" j'ai "id_art" et "id_tag" qui lie un tag ou plusieurs tags à un article
dans "tags" j'ai "id_tag" (primaire) et "libelle" qui associe un nom de tag à son identifiant.

J'aimerais récupérer les noms de libellés associé à un article précis...
je pourrais le faire en sélectionnant les id_tag de l'article puis de faire une boucle en récupérant par la suite le libellé du tag... mais je cherche un moyen "plus simple" en SQL...

Merci de votre aide ;)
Configuration: Windows XP
Firefox 2.0.0.13

4 réponses

  1. Mcmurphy Messages postés 115 Statut Membre 7
     
    Bonjour je te conseil :

    SELECT libelle FROM tags LEFT OUTER JOIN articles_tags ON id_tag = id_tag WHERE id_art = variable dYnamique ton choix

    Sa devrait marcher.

    Mais fait a attention a t'es nom de champs.
    0
  2. bartholomey Messages postés 23 Statut Membre
     
    Merci d'avoir répondu mais malheureusement ça ne fonctionne pas :(
    0
  3. bartholomey Messages postés 23 Statut Membre
     
    apparemment j'ai trouvé la formule qui fonctionne ^^
    "SELECT tags.libelle FROM tags, articles_tags WHERE tags.id_tag=articles_tags.id_tag AND articles_tags.id_art=VARIABLE"

    mais c'est bizarre, JOIN doit être fait pour ça non ?
    0
    1. HostOfSeraphim Messages postés 7340 Statut Contributeur 1 609
       
      C'est pas bizarre, c'est une jointure assez classique... Qu'est ce que tu vois de bizarre là-dedans ?
      0
      1. bartholomey Messages postés 23 Statut Membre > HostOfSeraphim Messages postés 7340 Statut Contributeur
         
        ce qui est bizarre c'est d'utiliser des WHERE alors que JOIN est censé servir à ça, non ?
        0
      2. HostOfSeraphim Messages postés 7340 Statut Contributeur 1 609 > bartholomey Messages postés 23 Statut Membre
         
        Le JOIN est utile pour des grosses jointures, mais pour une jointure "toute bête", un WHERE est vite fait et tout simple.


        0
      3. bartholomey Messages postés 23 Statut Membre > HostOfSeraphim Messages postés 7340 Statut Contributeur
         
        ahh d'accord, merci pour les explications :)
        0
  4. Mcmurphy Messages postés 115 Statut Membre 7
     
    oui normalement il sert ça.

    Ce qui est encor plus bizarre c'est mon sql server me dit que la requette est correct.
    ^^ va savoir.
    0