Résoudre les problèmes de requête « LEFT JOIN uniquement sur la première ligne »
Dans cette requête, vous souhaitez récupérer le premier nom d'artiste associé à un objet spécifique. Nourrissez en effectuant un LEFT JOIN. Cependant, votre approche originale utilisant une sous-requête dans la clause ON n'a pas donné les résultats souhaités.
Pour résoudre ce problème, nous devons ajuster la sous-requête pour récupérer l'artiste_id minimum, en veillant à ce que le premier artiste soit sélectionné. Cela nécessite une légère modification de votre requête :
<code class="sql">SELECT * FROM feeds f LEFT JOIN artists a ON a.artist_id = ( SELECT MIN(fa.artist_id) a_id FROM feeds_artists fa WHERE fa.feed_id = f.feed_id )</code>
Explication :
Cette requête mise à jour utilise la fonction MIN() pour déterminer l'id_artiste minimum pour le feed_id correspondant . Étant donné que l'id_artiste est supposé augmenter au fil du temps, la valeur minimale représente le premier artiste associé à ce flux.
Considérations supplémentaires :
Il est important de noter que cette approche suppose ce qui suit :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!