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
406 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!

source:php.cn
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