J'ai un base de données mysql avec 3 tables:mysql récupérer des données à partir de 2 tables via un tableau de correspondance
- artistes (artist_id, nom)
- albums (album_i, titre) et une troisième table de corrélation:
- albums_artists (album_id, artist_id)
Mon but est d'afficher une liste de tous les artistes et à côté du nom de chaque artiste, les titres de tous les albums de cet artiste libéré. (Un album « appartient » à un seul artiste, un artiste peut avoir plus d'un album bien sûr)
Ce serait formidable si pourrait obtenir un résultat comme:
1 « ac/dc » 3 " qu'il y ait rock "
1 "AC/DC" 4 "haute tension"
2 "tête de la machine pourpre" 45 "profond"
2 "pourpre profond" 49 "dans la roche"
3 "motorhead" 666" l'as de pique "num
(Le premier nombre dans chaque rangée étant le artist_id, et le second l'album_id).
Quelle serait la requête appropriée pour cela?
Par curiosité: Si un album appartient à un seul artiste, comment se fait-il que de passer 'artist_id' n'est pas simplement un champ sur la' album' table? –
vous avez tellement raison. pour cet exemple spécifique qui aurait été suffisant. Dans d'autres scénarios de mon projet, les choses peuvent être un peu différentes: une chanson peut avoir plusieurs écrivains etc. Merci pour votre remarque. C'est une pratique courante pour les débutants de rendre les choses plus compliquées qu'elles ne devraient l'être. :-) – samoyed