0
我看過其他例子,仍然無法弄清楚從這些MySQL表格中顯示如此結果(Artist Name - Release Name - Year - YT)的效率最高的查詢。我將使用ID鏈接到不同的頁面。3個MySQL表結構的GROUP_CONCAT?
tbl_artists
artist_id artist_name
tbl_releases
release_id release_name release_year release_yt
tbl_release_artists
release_id artist_id artist_order
我以前曾在tbl_releases artist_id倒是一個單獨的表(tbl_release_artists)和包括它那裏有一些版本/歌曲不止一個藝術家。我將如何更改下面的查詢來顯示每個版本中的所有藝術家?我讀過最好的解決方案是GROUP_CONCAT?任何幫助將非常感激。提前致謝。
SELECT Releases.artist_id, Releases.release_name, Releases.release_year, Releases.release_yt, Artists.artist_id, Artists.artist_name
FROM tbl_releases AS Releases
LEFT JOIN tbl_artists AS Artists
USING (artist_id)
ORDER BY Artists.artist_name, Releases.release_year, Releases.release_name ASC
感謝您的快速回復。 :)該查詢正在恢復以下內容:#1064 - 您的SQL語法錯誤;請查看與您的MySQL服務器版本相對應的手冊,以便在第7行的'tbl_artists a on a.artist_id = ra.artist_id GROUP BY r.release_year,r.rele'附近使用正確的語法。 – alexacruiz
現在完美地工作,謝謝。我剛剛添加了另一個連接,因此查詢如下所示:SELECT r.release_name,r.release_year,r.release_yt,group_concat(a.artist_id)AS artist_ids,group_concat(a.artist_name)AS artist_names FROM tbl_release_artists ra JOIN tbl_releases r ON r.release_id = ra.release_id JOIN tbl_artists a ON a.artist_id = ra.artist_id GROUP BY r.release_year,r.release_name,r.release_yt ORDER BY r.release_year,r.release_name ASC – alexacruiz