Maison > base de données > tutoriel mysql > Comment récupérer le nom du premier artiste dans une requête LEFT JOIN ?

Comment récupérer le nom du premier artiste dans une requête LEFT JOIN ?

Mary-Kate Olsen
Libérer: 2024-11-05 20:15:02
original
481 Les gens l'ont consulté

How to Retrieve the First Artist Name in a LEFT JOIN Query?

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>
Copier après la connexion

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 :

  • L'artiste_id s'incrémente continuellement, garantissant que le premier artiste est identifiable.
  • Il n'y a pas de valeurs d'artiste_id en double pour un feed_id donné, ce qui pourrait potentiellement conduire à des résultats imprévisibles.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal