「最初の行のみ LEFT JOIN」クエリの問題の解決
このクエリでは、特定の行に関連付けられた最初のアーティスト名を取得することを目的としています。 LEFT JOIN を実行しながらフィードします。ただし、ON 句内でサブクエリを使用した元のアプローチでは、望ましい結果が得られませんでした。
この問題に対処するには、サブクエリを調整して最小の Artist_id を取得し、最も古いアーティストが選択されるようにする必要があります。これには、クエリを少し変更する必要があります:
<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>
説明:
この更新されたクエリは、MIN() 関数を使用して、対応する feed_id の最小の Artist_id を決定します。 。 Artist_id は時間の経過とともに増加すると想定されているため、最小値はそのフィードに関連付けられた最も古いアーティストを表します。
追加の考慮事項:
このアプローチは次のことに注意することが重要です。以下を前提としています。
以上がLEFT JOIN クエリで最初のアーティスト名を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。