Probleme mit der Abfrage „LEFT JOIN Only First Row“ lösen
Bei dieser Abfrage möchten Sie den ersten Künstlernamen abrufen, der mit einem bestimmten Künstler verknüpft ist Feed während der Ausführung eines LEFT JOIN. Ihr ursprünglicher Ansatz mit einer Unterabfrage innerhalb der ON-Klausel hat jedoch nicht zu den gewünschten Ergebnissen geführt.
Um dieses Problem zu beheben, müssen wir die Unterabfrage anpassen, um die minimale artist_id abzurufen und sicherzustellen, dass der früheste Künstler ausgewählt wird. Dies erfordert eine geringfügige Änderung Ihrer Abfrage:
<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>
Erklärung:
Diese aktualisierte Abfrage verwendet die Funktion MIN(), um die minimale artist_id für die entsprechende Feed_id zu ermitteln . Da davon ausgegangen wird, dass sich die artist_id mit der Zeit erhöht, stellt der Mindestwert den frühesten mit diesem Feed verknüpften Künstler dar.
Zusätzliche Überlegungen:
Es ist wichtig zu beachten, dass dieser Ansatz geht von Folgendem aus:
Das obige ist der detaillierte Inhalt vonWie rufe ich den ersten Künstlernamen in einer LEFT JOIN-Abfrage ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!