Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme select

    24 mai 2011 à 19:21:57

    bonjour :D
    j'ai trois table : artiste et album et track
    ja veux affiche un artiste avec un album et aussi les titre de ce dernier
    j'ai fait une requête ms le probleme c'est que le nom de l'artiste et l'album il ce répète o_O ce que je veut c'est affiche le de l'artiste est son album une seul fois merci
    SELECT  artiste.nom_artiste,artiste.id_artiste,
    						   album.nom_album,album.id_album,track.id_track,track.titre
    				  FROM artiste,album,track
    				  where artiste.id_artiste = $art
    				  AND album.id_album =$alb
    				  AND album.id_album = track.id_album
    				  AND artiste.id_artiste = track.id_artiste
    
    • Partager sur Facebook
    • Partager sur Twitter
      24 mai 2011 à 21:52:08

      Peux tu nous passer la structure de ta base de données?
      Il n'y a t-il pas dans tes 3 tables le nom de l'artiste ainsi que l'album? Ce qui expliquerai la duplication de l'affichage de ces colonnes?
      • Partager sur Facebook
      • Partager sur Twitter
        24 mai 2011 à 23:34:51

        C'est normal. C'est à l'affichage que tu dois t'arranger pour n'afficher qu'une fois chaque artiste et chaque album. DOnc en PHP, ou Java, ou je sais pas ce que tu utilises comme langage...
        • Partager sur Facebook
        • Partager sur Twitter
          25 mai 2011 à 8:06:03

          Pour ça, soit tu fais comme Taguan a dit, soit tu fais deux requêtes, une pour récupérer le nom de l'artiste et son album, une autre pour récupérer chacun des titres de ton artiste, en prenant soin de les classer ensuite dans ce qui servira à l'afficher dans ton programme.

          Un truc comme ça :
          -- Requête 1
          SELECT  artiste.nom_artiste, album.nom_album
            FROM artiste, album
            WHERE artiste.id_artiste = $art
            AND album.id_album =$alb
            AND artiste.id_artiste = album.id_artiste
          
          --Requête 2
          SELECT track.titre
            FROM track, album, artiste
            WHERE track.id_artiste = --L'artiste que tu as dans la requête precedente
            AND track.id_album = --L'album de ta précedente requête
          
          • Partager sur Facebook
          • Partager sur Twitter
            25 mai 2011 à 8:08:10

            Oui mais non... Minimiser le nombre de requêtes est la première chose qu'on fait quand on veut optimiser un programme. Donc quand c'est évident qu'y a moyen de faire une requete au lieu de deux, ben on s'amuse pas à faire plus de requête pour le plaisir.
            • Partager sur Facebook
            • Partager sur Twitter

            probleme select

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown