Cherche bonne commande SQL

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

  • Votes
  • Date
  • Date décroissante
  1. 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.
    1. Merci d'avoir répondu mais malheureusement ça ne fonctionne pas :(
      1. 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 ?
        1. Contributeur
          C'est pas bizarre, c'est une jointure assez classique... Qu'est ce que tu vois de bizarre là-dedans ?
        2. @HostOfSeraphimce qui est bizarre c'est d'utiliser des WHERE alors que JOIN est censé servir à ça, non ?
        3. Contributeur
          @bartholomeyLe JOIN est utile pour des grosses jointures, mais pour une jointure "toute bête", un WHERE est vite fait et tout simple.

      2. 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.